You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Sneha Nikum <sn...@gmail.com> on 2009/07/02 12:22:52 UTC
Axis 1.4 support for complex type in SOAP request
Hi,
I am using Axis 1.4.
Onlines to the example samples/client/DynamicInvoker.java, I am creating a
SOAP request stub from a given WSDL url and populating it with the argument
s and then giving a call to invoke the function.
I have observed that if my request has an element of complex type, code
throws a run time exception while trying to populate the parameters for the
request, at its unable to fill in the complex type.
e.g. if part of my wsdl looks as below:
<xsd:schema targetNamespace="http://www.example.org/NewWSDLFile/">
-
*<xsd:element name="NewOperation">*
-
<xsd:complexType>
-
<xsd:sequence>
<xsd:element name="in" type="xsd:string"/>
<xsd:element name="NewElement" type="xsd:int"/>
<xsd:element name="NewElement1" type="xsd:int"/>
<xsd:element name="NewElement2" type="xsd:boolean"/>
<xsd:any/>
<xsd:element name="NewElement3" type="xsd:string"/>
<xsd:element name="NewElement4" type="xsd:string"/>
<xsd:element name="NewElement5" type="xsd:string"/>
<xsd:element name="NewElement6" type="xsd:string"/>
<xsd:element name="NewElement7" type="xsd:string"/>
<xsd:element name="NewElement8" type="xsd:int"/>
<xsd:element name="NewElement9" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
-
<xsd:element name="NewOperationResponse">
-
<xsd:complexType>
-
<xsd:sequence>
<xsd:element name="out" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
-
*<wsdl:message name="NewOperationRequest">
<wsdl:part element="tns:NewOperation" name="parameters"/>
</wsdl:message>*
-
<wsdl:message name="NewOperationResponse">
<wsdl:part element="tns:NewOperationResponse" name="parameters"/>
</wsdl:message>
If you observe the highlighted portion, NewOperationRequest, it has element,
parameters, of type NewOPeration, which is of complex type.
My code give s a run time exception when I try to execute my code using this
WSDL file, as java.lang.RuntimeException: not know how to convert 'abc'
into org.apache.axis.client.Call@b45130
Please help me find a solution on this problem, as most of my WSDL files
include complex types for the requests.
Thanks in advance.
--
Sneha
Re: Axis 1.4 support for complex type in SOAP request
Posted by Sneha Nikum <sn...@gmail.com>.
Hi All,
Please help me with this. This has really become a blocker issue for me.
Thanks a lot in advance.
Regards,
Sneha
On Thu, Jul 2, 2009 at 3:52 PM, Sneha Nikum <sn...@gmail.com> wrote:
> Hi,
>
> I am using Axis 1.4.
>
> Onlines to the example samples/client/DynamicInvoker.java, I am creating a
> SOAP request stub from a given WSDL url and populating it with the argument
> s and then giving a call to invoke the function.
>
> I have observed that if my request has an element of complex type, code
> throws a run time exception while trying to populate the parameters for the
> request, at its unable to fill in the complex type.
>
> e.g. if part of my wsdl looks as below:
>
> <xsd:schema targetNamespace="http://www.example.org/NewWSDLFile/">
> -
> *<xsd:element name="NewOperation">*
> -
> <xsd:complexType>
> -
> <xsd:sequence>
> <xsd:element name="in" type="xsd:string"/>
> <xsd:element name="NewElement" type="xsd:int"/>
> <xsd:element name="NewElement1" type="xsd:int"/>
> <xsd:element name="NewElement2" type="xsd:boolean"/>
> <xsd:any/>
> <xsd:element name="NewElement3" type="xsd:string"/>
> <xsd:element name="NewElement4" type="xsd:string"/>
> <xsd:element name="NewElement5" type="xsd:string"/>
> <xsd:element name="NewElement6" type="xsd:string"/>
> <xsd:element name="NewElement7" type="xsd:string"/>
> <xsd:element name="NewElement8" type="xsd:int"/>
> <xsd:element name="NewElement9" type="xsd:string"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> -
> <xsd:element name="NewOperationResponse">
> -
> <xsd:complexType>
> -
> <xsd:sequence>
> <xsd:element name="out" type="xsd:string"/>
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> </xsd:schema>
> </wsdl:types>
> -
> *<wsdl:message name="NewOperationRequest">
> <wsdl:part element="tns:NewOperation" name="parameters"/>
> </wsdl:message>*
> -
> <wsdl:message name="NewOperationResponse">
> <wsdl:part element="tns:NewOperationResponse" name="parameters"/>
> </wsdl:message>
>
>
> If you observe the highlighted portion, NewOperationRequest, it has
> element, parameters, of type NewOPeration, which is of complex type.
>
> My code give s a run time exception when I try to execute my code using
> this WSDL file, as java.lang.RuntimeException: not know how to convert
> 'abc' into org.apache.axis.client.Call@b45130
>
> Please help me find a solution on this problem, as most of my WSDL files
> include complex types for the requests.
>
> Thanks in advance.
> --
> Sneha
>