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 keith chapman <ke...@gmail.com> on 2009/02/10 11:56:55 UTC

Re: Axis2 problem with invoking methodes through GET requests

Hi Valeriy,

Could you post the XML Schema section that defines this message that your
refering to.

Thanks,
Keith.

On Tue, Feb 10, 2009 at 3:10 PM, Valerly Provalov <vp...@five9.com>wrote:

> Hi all,
>
> I use skeleton generated by WSDL2Java. While parsing request, generated
> stubs checks attributes namespaces something like this:
>
> if ( reader.isStartElement() && new
> javax.xml.namespace.QName(<namespace>,
> <attribute_name>).equals(reader.getName())
>
> Everything works fine with generated stubs, but doesn't with GET
> requests. In this case, generated SOAP packet doesn't contain attributes
> namespace for method parameters. Is there any solution for this problem?
>
> Regards,
> Valeriy.
>
>
> ----------------------------------------------------------------------
> This e-mail message is for the sole use of the intended recipient(s) and
> contains confidential and/or privileged information belonging to
> Five 9, Inc. or its customers or partners. Any unauthorized review, use,
> copying, disclosure or distribution of this message is strictly
> prohibited. If you are not an intended recipient of this message, please
> contact the sender by reply e-mail and destroy all soft and hard copies of
> the message and any attachments.
> Thank you for your cooperation.
> ----------------------------------------------------------------------




-- 
Keith Chapman
Senior Software Engineer
WSO2 Inc.
Oxygenating the Web Service Platform.
http://wso2.org/

blog: http://www.keith-chapman.org

RE: Axis2 problem with invoking methodes through GET requests

Posted by Valerly Provalov <vp...@five9.com>.
Keith,

The problem is that when I use GET request, SOAP packet looks like:

<?xml version='1.0' encoding='utf-8'?>
	<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
		<soapenv:Body><axis2ns2:makeCall xmlns:axis2ns2="blabla.blabla.com">
			<param0>123456789</param0>
			<param1>0</param1>
			<param2>false</param2>
		</axis2ns2:makeCall>
	</soapenv:Body>
</soapenv:Envelope>

But stubs are expecting that param<N> should be in the same namespace as makeCall:
<axis2ns2:param0>123456789</axis2ns2:param0>
<axis2ns2:param1>0</axis2ns2:param1>
<axis2ns2:param2>false</axis2ns2:param2>

I debugged a bit and found out, that schema, generated for service in runtime doesn't contain namespaces for parameters.

________________________________________
From: keith chapman [mailto:keithgchapman@gmail.com] 
Sent: Wednesday, February 11, 2009 8:45 AM
To: axis-user@ws.apache.org
Subject: Re: Axis2 problem with invoking methodes through GET requests

Hi,

In this case if you send a request into axis2 as http://localhost:8080/axis2/services/serviceName/makeCall?param0=SomeValue&param1=someValue&param2=someValue
it should work just fine.

Your schema contains just elements, From your initial post I thought they contained attributes as well. If they did then it would not work.

Thanks,
Keith.
On Tue, Feb 10, 2009 at 5:21 PM, Valerly Provalov <vp...@five9.com> wrote:
Sure,

<xs:schema attributeFormDefault="qualified"
elementFormDefault="qualified"
targetNamespace="http://blabla.blabla.com">
       ...
       ...
<xs:element name="makeCall">
       <xs:complexType>
               <xs:sequence>
                       <xs:element name="param0" type="xs:string"/>
                       <xs:element name="param1" type="xs:long"/>
                       <xs:element name="param2" type="xs:boolean"/>
               </xs:sequence>
       </xs:complexType>
</xs:element>
       ...
       ...

And operation is defined as:

<wsdl:operation name="makeCall">
       <wsdl:input message="ns:makeCallRequest"
wsaw:Action="urn:makeCall"/>
       <wsdl:output message="ns:makeCallResponse"
wsaw:Action="urn:makeCallResponse"/>
       <wsdl:fault message="ns:AgentBridgeException"
name="AgentBridgeException" wsaw:Action="urn:makeCallException"/>
</wsdl:operation>

<wsdl:message name="makeCallRequest">
       <wsdl:part name="parameters" element="ns:makeCall"/>
</wsdl:message>
________________________________________
From: keith chapman [mailto:keithgchapman@gmail.com]
Sent: Tuesday, February 10, 2009 1:57 PM
To: axis-user@ws.apache.org
Subject: Re: Axis2 problem with invoking methodes through GET requests

Hi Valeriy,

Could you post the XML Schema section that defines this message that
your refering to.

Thanks,
Keith.
On Tue, Feb 10, 2009 at 3:10 PM, Valerly Provalov <vp...@five9.com>
wrote:
Hi all,

I use skeleton generated by WSDL2Java. While parsing request, generated
stubs checks attributes namespaces something like this:

if ( reader.isStartElement() && new
javax.xml.namespace.QName(<namespace>,
<attribute_name>).equals(reader.getName())

Everything works fine with generated stubs, but doesn't with GET
requests. In this case, generated SOAP packet doesn't contain attributes
namespace for method parameters. Is there any solution for this problem?

Regards,
Valeriy.


----------------------------------------------------------------------
This e-mail message is for the sole use of the intended recipient(s) and
contains confidential and/or privileged information belonging to
Five 9, Inc. or its customers or partners. Any unauthorized review, use,
copying, disclosure or distribution of this message is strictly
prohibited. If you are not an intended recipient of this message, please
contact the sender by reply e-mail and destroy all soft and hard copies
of the message and any attachments.
Thank you for your cooperation.
----------------------------------------------------------------------



--
Keith Chapman
Senior Software Engineer
WSO2 Inc.
Oxygenating the Web Service Platform.
http://wso2.org/

blog: http://www.keith-chapman.org


----------------------------------------------------------------------
This e-mail message is for the sole use of the intended recipient(s) and contains confidential and/or privileged information belonging to
Five 9, Inc. or its customers or partners. Any unauthorized review, use, copying, disclosure or distribution of this message is strictly
prohibited. If you are not an intended recipient of this message, please contact the sender by reply e-mail and destroy all soft and hard copies of the message and any attachments.
Thank you for your cooperation.
----------------------------------------------------------------------



-- 
Keith Chapman
Senior Software Engineer
WSO2 Inc.
Oxygenating the Web Service Platform.
http://wso2.org/

blog: http://www.keith-chapman.org


----------------------------------------------------------------------
This e-mail message is for the sole use of the intended recipient(s) and contains confidential and/or privileged information belonging to
Five 9, Inc. or its customers or partners. Any unauthorized review, use, copying, disclosure or distribution of this message is strictly
prohibited. If you are not an intended recipient of this message, please contact the sender by reply e-mail and destroy all soft and hard copies of the message and any attachments.
Thank you for your cooperation.
----------------------------------------------------------------------

Re: Axis2 problem with invoking methodes through GET requests

Posted by keith chapman <ke...@gmail.com>.
Hi,

In this case if you send a request into axis2 as
http://localhost:8080/axis2/services/serviceName/makeCall?param0=SomeValue&param1=someValue&param2=someValue
it should work just fine.

Your schema contains just elements, From your initial post I thought they
contained attributes as well. If they did then it would not work.

Thanks,
Keith.

On Tue, Feb 10, 2009 at 5:21 PM, Valerly Provalov <vp...@five9.com>wrote:

> Sure,
>
> <xs:schema attributeFormDefault="qualified"
> elementFormDefault="qualified"
> targetNamespace="http://blabla.blabla.com">
>        ...
>        ...
> <xs:element name="makeCall">
>        <xs:complexType>
>                <xs:sequence>
>                        <xs:element name="param0" type="xs:string"/>
>                        <xs:element name="param1" type="xs:long"/>
>                        <xs:element name="param2" type="xs:boolean"/>
>                </xs:sequence>
>        </xs:complexType>
> </xs:element>
>        ...
>        ...
>
> And operation is defined as:
>
> <wsdl:operation name="makeCall">
>        <wsdl:input message="ns:makeCallRequest"
> wsaw:Action="urn:makeCall"/>
>        <wsdl:output message="ns:makeCallResponse"
> wsaw:Action="urn:makeCallResponse"/>
>        <wsdl:fault message="ns:AgentBridgeException"
> name="AgentBridgeException" wsaw:Action="urn:makeCallException"/>
> </wsdl:operation>
>
> <wsdl:message name="makeCallRequest">
>        <wsdl:part name="parameters" element="ns:makeCall"/>
> </wsdl:message>
> ________________________________________
> From: keith chapman [mailto:keithgchapman@gmail.com]
> Sent: Tuesday, February 10, 2009 1:57 PM
> To: axis-user@ws.apache.org
> Subject: Re: Axis2 problem with invoking methodes through GET requests
>
> Hi Valeriy,
>
> Could you post the XML Schema section that defines this message that
> your refering to.
>
> Thanks,
> Keith.
> On Tue, Feb 10, 2009 at 3:10 PM, Valerly Provalov <vp...@five9.com>
> wrote:
> Hi all,
>
> I use skeleton generated by WSDL2Java. While parsing request, generated
> stubs checks attributes namespaces something like this:
>
> if ( reader.isStartElement() && new
> javax.xml.namespace.QName(<namespace>,
> <attribute_name>).equals(reader.getName())
>
> Everything works fine with generated stubs, but doesn't with GET
> requests. In this case, generated SOAP packet doesn't contain attributes
> namespace for method parameters. Is there any solution for this problem?
>
> Regards,
> Valeriy.
>
>
> ----------------------------------------------------------------------
> This e-mail message is for the sole use of the intended recipient(s) and
> contains confidential and/or privileged information belonging to
> Five 9, Inc. or its customers or partners. Any unauthorized review, use,
> copying, disclosure or distribution of this message is strictly
> prohibited. If you are not an intended recipient of this message, please
> contact the sender by reply e-mail and destroy all soft and hard copies
> of the message and any attachments.
> Thank you for your cooperation.
> ----------------------------------------------------------------------
>
>
>
> --
> Keith Chapman
> Senior Software Engineer
> WSO2 Inc.
> Oxygenating the Web Service Platform.
> http://wso2.org/
>
> blog: http://www.keith-chapman.org
>
>
> ----------------------------------------------------------------------
> This e-mail message is for the sole use of the intended recipient(s) and
> contains confidential and/or privileged information belonging to
> Five 9, Inc. or its customers or partners. Any unauthorized review, use,
> copying, disclosure or distribution of this message is strictly
> prohibited. If you are not an intended recipient of this message, please
> contact the sender by reply e-mail and destroy all soft and hard copies of
> the message and any attachments.
> Thank you for your cooperation.
> ----------------------------------------------------------------------
>



-- 
Keith Chapman
Senior Software Engineer
WSO2 Inc.
Oxygenating the Web Service Platform.
http://wso2.org/

blog: http://www.keith-chapman.org

RE: Axis2 problem with invoking methodes through GET requests

Posted by Valerly Provalov <vp...@five9.com>.
Sure,

<xs:schema attributeFormDefault="qualified"
elementFormDefault="qualified"
targetNamespace="http://blabla.blabla.com">
	...
	...
<xs:element name="makeCall">
	<xs:complexType>
		<xs:sequence>
			<xs:element name="param0" type="xs:string"/>
			<xs:element name="param1" type="xs:long"/>
			<xs:element name="param2" type="xs:boolean"/>
		</xs:sequence>
	</xs:complexType>
</xs:element>
	...
	...
 
And operation is defined as: 

<wsdl:operation name="makeCall">
	<wsdl:input message="ns:makeCallRequest"
wsaw:Action="urn:makeCall"/>
	<wsdl:output message="ns:makeCallResponse"
wsaw:Action="urn:makeCallResponse"/>
	<wsdl:fault message="ns:AgentBridgeException"
name="AgentBridgeException" wsaw:Action="urn:makeCallException"/>
</wsdl:operation> 

<wsdl:message name="makeCallRequest">
	<wsdl:part name="parameters" element="ns:makeCall"/>
</wsdl:message>
________________________________________
From: keith chapman [mailto:keithgchapman@gmail.com] 
Sent: Tuesday, February 10, 2009 1:57 PM
To: axis-user@ws.apache.org
Subject: Re: Axis2 problem with invoking methodes through GET requests

Hi Valeriy,

Could you post the XML Schema section that defines this message that
your refering to.

Thanks,
Keith.
On Tue, Feb 10, 2009 at 3:10 PM, Valerly Provalov <vp...@five9.com>
wrote:
Hi all,

I use skeleton generated by WSDL2Java. While parsing request, generated
stubs checks attributes namespaces something like this:

if ( reader.isStartElement() && new
javax.xml.namespace.QName(<namespace>,
<attribute_name>).equals(reader.getName())

Everything works fine with generated stubs, but doesn't with GET
requests. In this case, generated SOAP packet doesn't contain attributes
namespace for method parameters. Is there any solution for this problem?

Regards,
Valeriy.


----------------------------------------------------------------------
This e-mail message is for the sole use of the intended recipient(s) and
contains confidential and/or privileged information belonging to
Five 9, Inc. or its customers or partners. Any unauthorized review, use,
copying, disclosure or distribution of this message is strictly
prohibited. If you are not an intended recipient of this message, please
contact the sender by reply e-mail and destroy all soft and hard copies
of the message and any attachments.
Thank you for your cooperation.
----------------------------------------------------------------------



-- 
Keith Chapman
Senior Software Engineer
WSO2 Inc.
Oxygenating the Web Service Platform.
http://wso2.org/

blog: http://www.keith-chapman.org


----------------------------------------------------------------------
This e-mail message is for the sole use of the intended recipient(s) and contains confidential and/or privileged information belonging to
Five 9, Inc. or its customers or partners. Any unauthorized review, use, copying, disclosure or distribution of this message is strictly
prohibited. If you are not an intended recipient of this message, please contact the sender by reply e-mail and destroy all soft and hard copies of the message and any attachments.
Thank you for your cooperation.
----------------------------------------------------------------------