RE: [Axis] Null message contents with AXISCPP
Hi, Well, it's good to here we've resolved the first of your problems. As for your second problem Currently, I'm not too certain as to where your problem lies, however I do have a couple of thoughts. I notice the SOAP elements in your response message don't seem to exactly match the names in your WSDL snippets. Alternatively, I know the handling of attributes in Axis C++ is still fairly basic, so you could be hitting some limitation there, possibly relating to complex type elements with attributes but no child element. We could make a better diagnosis of the problem if you're able to turn on trace while reproducing this problem (see http://ws.apache.org/axis/cpp/TraceGuide.html for details), and also capture the SOAP response message. Adrian ___ Adrian Dick ([EMAIL PROTECTED]) "Alastair FETTES" <[EMAIL PROTECTED]> wrote on 09/08/2006 00:22:14: > Hi Adrian, > > I'm much happier now with that multi-ref situation worked out. For one > thing we have a layer on top of our w/s architecture that removes > redundancies in the data and thus the benefits from using multi-ref > aren't very high. Much more importantly though is the fact that > disabling multirefs solved the first of my problems. The second problem > is still causing me a wee bit of grief. > > The basic idea is I am trying to make my XML more efficient by using > attributes as opposed to elements. It also follows my own/our coding > guidelines for XML and the general rule of thumb when authoring XML. > When I convert our data holders from element to attributes though, I get > the second problem. > > The following is a message that causes a SoapFaultException with the > message "Cannot deserialize the requested element". > > > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; > xmlns:xsd="http://www.w3.org/2001/XMLSchema"; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";> > > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";> > xsi:type="ns1:fooOutputType" > xmlns:ns1="http://www.foo.com/"/> > > > > > This is the schema that causes the problem: > > http://www.w3.org/2001/XMLSchema"; > targetNamespace="http://www.foo.com/"; > xmlns:foo="http://www.foo.com/";> > http://schemas.xmlsoap.org/soap/encoding/"/> > > > > > > > > > > Referred to by the following WSDL messages: > ... > > > > > > > > > > > > > > ... > parameterOrder="inputMessage"> > > > > parameterOrder="inputMessage"> > > > > ... > > Client is an executable Axis-C++ application. Server is Axis-Java > hosted on Tomcat. Server does not have a problem at all. Axis-CPP > causes the problems. > > When fooMessageFromString() is called, I get an SoapFaultException. > When I call fooStringFromMessage() I get an unhandled exception (note: I > am handling AxisException, SoapFaultException and OtherFaultException in > my try/catch block). > > Have you ever seen problems such as this before? > > Thanks, > Alastair > > This e-mail and any attachments are intended solely for the use of the > intended recipient(s) and may contain legally privileged, proprietary > and/or confidential information. Any use, disclosure, dissemination, > distribution or copying of this e-mail and any attachments for any > purposes that have not been specifically authorized by the sender is > strictly prohibited. If you are not the intended recipient, please > immediately notify the sender by reply e-mail and permanently delete all > copies and attachments. > > The entire content of this e-mail is for "information purposes" only and > should not be relied upon by the recipient in any way unless otherwise > confirmed in writing by way of letter or facsimile. > > > -Original Message- > From: Adrian Dick [mailto:[EMAIL PROTECTED] > Sent: Monday, August 07, 2006 1:36 AM > To: Apache AXIS C User List > Subject: Re: [Axis] Null message contents with AXISCPP > > Hi, > > In reference to your first problem. I notice your response SOAP message > is > making use of multi-ref. > Unfortunately, this isn't currently supported by Axis C++. > > You don't mention which server you're using, but if it's Axis Java, you > can > disable multi-ref using the WSDD file (see > http://ws.apache.org/axis/java/reference.html#Gl
RE: [Axis] Null message contents with AXISCPP
Hi Adrian, I'm much happier now with that multi-ref situation worked out. For one thing we have a layer on top of our w/s architecture that removes redundancies in the data and thus the benefits from using multi-ref aren't very high. Much more importantly though is the fact that disabling multirefs solved the first of my problems. The second problem is still causing me a wee bit of grief. The basic idea is I am trying to make my XML more efficient by using attributes as opposed to elements. It also follows my own/our coding guidelines for XML and the general rule of thumb when authoring XML. When I convert our data holders from element to attributes though, I get the second problem. The following is a message that causes a SoapFaultException with the message "Cannot deserialize the requested element". http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";> http://schemas.xmlsoap.org/soap/encoding/";> http://www.foo.com/"/> This is the schema that causes the problem: http://www.w3.org/2001/XMLSchema"; targetNamespace="http://www.foo.com/"; xmlns:foo="http://www.foo.com/";> http://schemas.xmlsoap.org/soap/encoding/"/> Referred to by the following WSDL messages: ... ... ... Client is an executable Axis-C++ application. Server is Axis-Java hosted on Tomcat. Server does not have a problem at all. Axis-CPP causes the problems. When fooMessageFromString() is called, I get an SoapFaultException. When I call fooStringFromMessage() I get an unhandled exception (note: I am handling AxisException, SoapFaultException and OtherFaultException in my try/catch block). Have you ever seen problems such as this before? Thanks, Alastair This e-mail and any attachments are intended solely for the use of the intended recipient(s) and may contain legally privileged, proprietary and/or confidential information. Any use, disclosure, dissemination, distribution or copying of this e-mail and any attachments for any purposes that have not been specifically authorized by the sender is strictly prohibited. If you are not the intended recipient, please immediately notify the sender by reply e-mail and permanently delete all copies and attachments. The entire content of this e-mail is for "information purposes" only and should not be relied upon by the recipient in any way unless otherwise confirmed in writing by way of letter or facsimile. -Original Message- From: Adrian Dick [mailto:[EMAIL PROTECTED] Sent: Monday, August 07, 2006 1:36 AM To: Apache AXIS C User List Subject: Re: [Axis] Null message contents with AXISCPP Hi, In reference to your first problem. I notice your response SOAP message is making use of multi-ref. Unfortunately, this isn't currently supported by Axis C++. You don't mention which server you're using, but if it's Axis Java, you can disable multi-ref using the WSDD file (see http://ws.apache.org/axis/java/reference.html#GlobalAxisConfiguration ). What specific problems are you seeing when using attributes? Do you have any error messages? Regards, Adrian ___ Adrian Dick ([EMAIL PROTECTED]) "Alastair FETTES" <[EMAIL PROTECTED]> wrote on 04/08/2006 23:55:20: > I'm currently having a problem running the Axis-C 1.6b. > > All environment settings have been set as appropriate and I am able to > run *simple* methods. I.e. The "echoString" test case works for me (see > attached wsdl). I am correctly able to send the value out and retrieve > the mssage back. However, when I try to run more complex services I run > into problems. I.e. "echoMessageFromString" (see attached wsdl). > > Attached is a copy of my WSDL. Server side is java and I have tested it > through the URL interface and visibily inspected the response XML to be > the following: > > > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; > xmlns:xsd="http://www.w3.org/2001/XMLSchema"; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";> > > > > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";> > > > > > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; > xsi:type="ns1:messageOutputType" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; > xmlns:ns1="http://foo.com/";> > my attribute value 3 > my attribute value 4 >
Re: [Axis] Null message contents with AXISCPP
Hi, In reference to your first problem. I notice your response SOAP message is making use of multi-ref. Unfortunately, this isn't currently supported by Axis C++. You don't mention which server you're using, but if it's Axis Java, you can disable multi-ref using the WSDD file (see http://ws.apache.org/axis/java/reference.html#GlobalAxisConfiguration ). What specific problems are you seeing when using attributes? Do you have any error messages? Regards, Adrian ___ Adrian Dick ([EMAIL PROTECTED]) "Alastair FETTES" <[EMAIL PROTECTED]> wrote on 04/08/2006 23:55:20: > I'm currently having a problem running the Axis-C 1.6b. > > All environment settings have been set as appropriate and I am able to > run *simple* methods. I.e. The "echoString" test case works for me (see > attached wsdl). I am correctly able to send the value out and retrieve > the mssage back. However, when I try to run more complex services I run > into problems. I.e. "echoMessageFromString" (see attached wsdl). > > Attached is a copy of my WSDL. Server side is java and I have tested it > through the URL interface and visibily inspected the response XML to be > the following: > > > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; > xmlns:xsd="http://www.w3.org/2001/XMLSchema"; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";> > > > > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";> > > > > > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; > xsi:type="ns1:messageOutputType" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; > xmlns:ns1="http://foo.com/";> > my attribute value 3 > my attribute value 4 > > > > > This is as expected therefore I am not worried about the java-server > side (other than the lack of default namespace and the foo.com namespace > declared top level). The problem lies on the cpp-client side. > > The following bit of (generated) code always returns null: > messageOutputType* foo::echoMessageFromString(xsd__string Value0) > { > ... > pReturn = (messageOutputType *) m_pCall->getCmplxObject( > (void *) Axis_DeSerialize_messageOutputType, > (void *) Axis_Create_messageOutputType, > (void *) Axis_Delete_messageOutputType, > "returnMessage", > 0); > ... > } > > Another problem is when I switch from using child elements to attributes > for transfer of data. I run into problems that Axis is unable to > serialize/deserialize the messages in this case. The following is an > example of a schema type that I have encountered this problem with: > > > > > > > > All problems are occuring on the CPP side mind you. To sum up what this > means is I'm able to pass strings and other simple types back and forth > but not (slightly) more complex messages, rending the CPP side useless > for me. I could use Axis2 but have had no luck with code generation on > that side (see [Axis2] Code generation to C email from 2/8/2006). > > Any help would be most appreciated. > > Cheers, > Alastair > > This e-mail and any attachments are intended solely for the use of the > intended recipient(s) and may contain legally privileged, proprietary > and/or confidential information. Any use, disclosure, dissemination, > distribution or copying of this e-mail and any attachments for any > purposes that have not been specifically authorized by the sender is > strictly prohibited. If you are not the intended recipient, please > immediately notify the sender by reply e-mail and permanently delete all > copies and attachments. > > The entire content of this e-mail is for "information purposes" only and > should not be relied upon by the recipient in any way unless otherwise > confirmed in writing by way of letter or facsimile. > [attachment "example.wsdl" deleted by Adrian Dick/UK/IBM] > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Axis] Null message contents with AXISCPP
I'm currently having a problem running the Axis-C 1.6b. All environment settings have been set as appropriate and I am able to run *simple* methods. I.e. The "echoString" test case works for me (see attached wsdl). I am correctly able to send the value out and retrieve the mssage back. However, when I try to run more complex services I run into problems. I.e. "echoMessageFromString" (see attached wsdl). Attached is a copy of my WSDL. Server side is java and I have tested it through the URL interface and visibily inspected the response XML to be the following: http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";> http://schemas.xmlsoap.org/soap/encoding/";> http://schemas.xmlsoap.org/soap/encoding/"; xsi:type="ns1:messageOutputType" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:ns1="http://foo.com/";> my attribute value 3 my attribute value 4 This is as expected therefore I am not worried about the java-server side (other than the lack of default namespace and the foo.com namespace declared top level). The problem lies on the cpp-client side. The following bit of (generated) code always returns null: messageOutputType* foo::echoMessageFromString(xsd__string Value0) { ... pReturn = (messageOutputType *) m_pCall->getCmplxObject( (void *) Axis_DeSerialize_messageOutputType, (void *) Axis_Create_messageOutputType, (void *) Axis_Delete_messageOutputType, "returnMessage", 0); ... } Another problem is when I switch from using child elements to attributes for transfer of data. I run into problems that Axis is unable to serialize/deserialize the messages in this case. The following is an example of a schema type that I have encountered this problem with: All problems are occuring on the CPP side mind you. To sum up what this means is I'm able to pass strings and other simple types back and forth but not (slightly) more complex messages, rending the CPP side useless for me. I could use Axis2 but have had no luck with code generation on that side (see [Axis2] Code generation to C email from 2/8/2006). Any help would be most appreciated. Cheers, Alastair This e-mail and any attachments are intended solely for the use of the intended recipient(s) and may contain legally privileged, proprietary and/or confidential information. Any use, disclosure, dissemination, distribution or copying of this e-mail and any attachments for any purposes that have not been specifically authorized by the sender is strictly prohibited. If you are not the intended recipient, please immediately notify the sender by reply e-mail and permanently delete all copies and attachments. The entire content of this e-mail is for "information purposes" only and should not be relied upon by the recipient in any way unless otherwise confirmed in writing by way of letter or facsimile. example.wsdl Description: example.wsdl - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]