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]

Reply via email to