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". > > <?xml version="1.0" encoding="UTF-8"?> > <soapenv:Envelope > 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:Body> > <fooResponse > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> > <returnMessage attr1="foo" attr2="bar" attr3="hello world" > xsi:type="ns1:fooOutputType" > xmlns:ns1="http://www.foo.com/"/> > </fooResponse> > </soapenv:Body> > </soapenv:Envelope> > > This is the schema that causes the problem: > <?xml version="1.0"?> > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > targetNamespace="http://www.foo.com/" > xmlns:foo="http://www.foo.com/"> > <xs:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> > > <xs:complexType name="fooType"> > <xs:sequence/> > <xs:attribute name="attr1" type="xs:string"/> > <xs:attribute name="attr2" type="xs:string"/> > <xs:attribute name="attr3" type="xs:string"/> > </xs:complexType> > </xs:schema> > > Referred to by the following WSDL messages: > ... > <wsdl:message name="fooMessageFromStringRequest"> > <wsdl:part name="inputMessage" type="xs:string"/> > </wsdl:message> > <wsdl:message name="fooMessageFromStringResponse"> > <wsdl:part name="returnMessage" type="foo:fooType"/> > </wsdl:message> > > <wsdl:message name="fooStringFromMessageRequest"> > <wsdl:part name="inputMessage" type="foo:fooType"/> > </wsdl:message> > <wsdl:message name="fooStringFromMessageResponse"> > <wsdl:part name="returnMessage" type="xs:string"/> > </wsdl:message> > ... > <wsdl:operation name="fooMessageFromString" > parameterOrder="inputMessage"> > <wsdl:input message="foo:fooMessageFromStringRequest"/> > <wsdl:output message="foo:fooMessageFromStringResponse"/> > </wsdl:operation> > <wsdl:operation name="fooStringFromMessage" > parameterOrder="inputMessage"> > <wsdl:input message="foo:fooStringFromMessageRequest"/> > <wsdl:output message="foo:fooStringFromMessageResponse"/> > </wsdl:operation> > ... > > 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: > > > > <?xml version="1.0" encoding="UTF-8"?> > > <soapenv:Envelope > > 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:Body> > > > > <echoMessageFromStringResponse > > > > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> > > <returnMessage href="#id0"/> > > </echoMessageFromStringResponse> > > > > <multiRef id="id0" soapenc:root="0" > > > > 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/"> > > <attr3 xsi:type="xsd:string">my attribute value 3</attr3> > > <attr4 xsi:type="xsd:string">my attribute value 4</attr4> > > </multiRef> > > </soapenv:Body> > > </soapenv:Envelope> > > > > 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: > > > > <xs:complexType name="messageOutputType"> > > <xs:sequence/> > > <xs:attribute name="attr3" type="xs:string"/> > > <xs:attribute name="attr4" type="xs:string"/> > > </xs:complexType> > > > > 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] > > > > > --------------------------------------------------------------------- > 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]