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 rajac <ra...@gmail.com> on 2007/01/28 19:11:49 UTC

return type from Web Service

Hi,
      I have little knowledge on Axis2 and just started working on it few
days back.
      At present I am trying to develop web service that will basically
interact the business methods and return it back as bean to client.
      
Something like:
----------------------
Client <----- | | -----> Web Service Interface  <-----> Actual business
method 
 
        I am using RPCMessageReceiver for this purpose.

        My business methods are already fixed and most of them are returning
Java Collection type object as return type. Presently I am trying to create
a web service layer that will get the Collection type object from business
method, then I am setting collection object in a bean and returning the bean
from the web service method.

Structure of the bean
---------------------------------
 
                 public class SampleBean{
                                   Set set;
 
                                   public void setData(Set set){
                                     this.set = set;
                                   }
                                  
                                   public Set getData(){
                                     return set;
                                   }
                }
 
In my Service Class
------------------------------
 
 
   public class TestService{
 
              public SampleBean getAddres(){
 
              //Get the collection from the business method
              Set set = invoke business method
              SampleBean sampleBean = new SampleBean();
              // Set the collection in a bean. 
              sampleBean.setData(set);
              return sampleBean;
 
              }
}

But doing so I am facing this exception:

        Jan 27, 2007 10:15:02 AM
org.apache.axis2.rpc.receivers.RPCMessageReceiver invokeBusinessLogic
        SEVERE: Exception occurred while trying to invoke service method
getAdrresses 
        org.apache.axiom.om.OMException: java.lang.IllegalArgumentException:
null rcl
        at
org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java 

I know there are some issues with Collection in Axis2. If so, is there any
other alternative way/approach in Axis2 to solve this problem?

Regards,
Raja
 

-- 
View this message in context: http://www.nabble.com/return-type-from-Web-Service-tf3132123.html#a8678248
Sent from the Axis - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


RE: return type from Web Service

Posted by rajac <ra...@gmail.com>.
Thanks Gurpreet.
I have posted the bug in JIRA.

Regards,
Raja


Gurpreet Singh Dhanoa, HCL-Industry Solutions wrote:
> 
> 
> On Apache web site. You can see link to report a bug and the system in
> which u report a bug is called as JIRA
> 
> -----Original Message-----
> From: rajac [mailto:raja.chattopadhyay@gmail.com] 
> Sent: Monday, January 29, 2007 8:16 AM
> To: axis-user@ws.apache.org
> Subject: Re: return type from Web Service
> 
> 
> Hi Paul,
> 
>       Would you please guide me how to report this bug in JIRA?
> 
> Regards,
> Raja
> 
> 
> pzfreo wrote:
>> 
>> Raja
>> 
>> Thanks! You've found a real bug! Its a problem serializing Sets. Would
>> you be willing to raise a JIRA?
>> 
>> Paul
>> 
>> On 1/29/07, rajac <ra...@gmail.com> wrote:
>>>
>>> Hi Paul,
>>>
>>> Soap Message
>>> ------------------
>>> Request
>>> -------
>>>
>>> POST /axis2/services/TestService HTTP/1.1
>>> SOAPAction: "urn:anonOutInOp"
>>> User-Agent: Axis2
>>> Host: 127.0.0.1:6666
>>> Transfer-Encoding: chunked
>>> Content-Type: text/xml; charset=UTF-8
>>>
>>> e9
>>> <?xml version='1.0' encoding='UTF-8'?>
>>>    <soapenv:Envelope
>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>>>       <soapenv:Header />
>>>       <soapenv:Body>
>>>          <getAddress xmlns="http://service.pojo.sample/xsd" />
>>>       </soapenv:Body>
>>>    </soapenv:Envelope>0
>>>
>>>
>>> Response
>>> --------
>>>
>>> HTTP/1.1 500 Internal Server Error
>>> Set-Cookie: JSESSIONID=E5B3411D045F4632AE14226BF1137FC2; Path=/axis2
>>> Content-Type: text/xml;charset=UTF-8
>>> Transfer-Encoding: chunked
>>> Date: Mon, 29 Jan 2007 10:50:57 GMT
>>> Server: Apache-Coyote/1.1
>>> Connection: close
>>>
>>> 160
>>> <?xml version='1.0' encoding='UTF-8'?>
>>>    <soapenv:Envelope
>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>>>       <soapenv:Header />
>>>       <soapenv:Body>
>>>          <soapenv:Fault>
>>>             <faultcode>soapenv:Client</faultcode>
>>>             <faultstring>Exception occurred while trying to invoke
>>> service
>>> method getAddress</faultstring>
>>>             <detail />
>>>          </soapenv:Fault>
>>>       </soapenv:Body>
>>>    </soapenv:Envelope>
>>> 0
>>>
>>> My client is interacting with stub and stub in turns interacting with
>>> client..
>>>
>>> TestStub.java
>>> ------------------
>>> public class TestStub{
>>>
>>>
>>>           RPCServiceClient serviceClient = null;
>>>
>>>       Options options = null;
>>>
>>>       EndpointReference targetEPR = null;
>>>
>>>
>>>
>>>         public TestStub() throws AxisFault{
>>>                 serviceClient = new RPCServiceClient();
>>>                 options = serviceClient.getOptions();
>>>                 targetEPR = new
>>> EndpointReference("http://localhost:6666/axis2/services/TestService");
>>>                 options.setTo(targetEPR);
>>>         }
>>>
>>>         public TestBean getAddresses()throws AxisFault{
>>>
>>>                 QName opGetAddress = new
>>> QName("http://service.pojo.sample/xsd",
>>> "getAddress");
>>>
>>>         Object[] opGetAddressesArgs = new Object[] { };
>>>         Class[] returnTypes = new Class[] { TestBean.class };
>>>
>>>
>>>         Object[] response = serviceClient.invokeBlocking(opGetAddress,
>>>                         opGetAddressesArgs, returnTypes);
>>>
>>>         System.out.println("Length is : "+response.length );
>>>         TestBean obj = (TestBean)response[0];
>>>         System.out.println("TestBean : " + obj);
>>>         return obj;
>>>
>>>         }
>>> }
>>>
>>> TestClient.java
>>> ----------------------
>>>
>>> public class TestClient{
>>>         public static void main(String args[]){
>>>                 try{
>>>                         TestStub stub = new TestStub();
>>>                         TestBean str = stub.getAddresses();
>>>                         System.out.println("Name is : "+
>>> str.getAddresses());
>>>                 }catch(Exception ex){
>>>                         System.out.println("Exception in Client Program
>>> :: "+ ex);
>>>                 }
>>>         }
>>> }
>>>
>>>
>>> Exception is:
>>> --------------------
>>>
>>>
>>> Addresses frm Sample Bean inside WS : [r3, r2, r1, r4]
>>> - Exception occurred while trying to invoke service method getAddress
>>> org.apache.axiom.om.OMException: java.lang.IllegalArgumentException:
>>> null
>>> rcl
>>>         at
>>> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:199)
>>>         at
>>> org.apache.axiom.om.impl.llom.OMNodeImpl.build(OMNodeImpl.java:316)
>>>         at
>>> org.apache.axiom.om.impl.llom.OMElementImpl.build(OMElementImpl.java:624)
>>>         at
>>> org.apache.axiom.om.impl.llom.OMElementImpl.detach(OMElementImpl.java:591)
>>>         at
>>> org.apache.axiom.om.impl.llom.OMNodeImpl.setParent(OMNodeImpl.java:117)
>>>         at
>>> org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:240)
>>>         at
>>> org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:193)
>>>         at
>>> org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:97)
>>>         at
>>> org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:192)
>>>         at
>>> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessage
>>> Receiver.java:136)
>>>
>>>
>>> Also uploaded the relevent files.
>>>
>>> Thanks,
>>> Raja
>>>
>>>
>>>
>>> pzfreo wrote:
>>> >
>>> > Raja
>>> >
>>> > Please can you use TCPMON to capture the SOAP message and post it
>>> > here? That would really help. Also you might need to show us what your
>>> > client code looks like.
>>> >
>>> > Thanks!
>>> >
>>> > Paul
>>> >
>>> > On 1/28/07, rajac <ra...@gmail.com> wrote:
>>> >>
>>> >> Hi,
>>> >>       I have little knowledge on Axis2 and just started working on it
>>> few
>>> >> days back.
>>> >>       At present I am trying to develop web service that will
>>> basically
>>> >> interact the business methods and return it back as bean to client.
>>> >>
>>> >> Something like:
>>> >> ----------------------
>>> >> Client <----- | | -----> Web Service Interface  <-----> Actual
>>> business
>>> >> method
>>> >>
>>> >>         I am using RPCMessageReceiver for this purpose.
>>> >>
>>> >>         My business methods are already fixed and most of them are
>>> >> returning
>>> >> Java Collection type object as return type. Presently I am trying to
>>> >> create
>>> >> a web service layer that will get the Collection type object from
>>> >> business
>>> >> method, then I am setting collection object in a bean and returning
>>> the
>>> >> bean
>>> >> from the web service method.
>>> >>
>>> >> Structure of the bean
>>> >> ---------------------------------
>>> >>
>>> >>                  public class SampleBean{
>>> >>                                    Set set;
>>> >>
>>> >>                                    public void setData(Set set){
>>> >>                                      this.set = set;
>>> >>                                    }
>>> >>
>>> >>                                    public Set getData(){
>>> >>                                      return set;
>>> >>                                    }
>>> >>                 }
>>> >>
>>> >> In my Service Class
>>> >> ------------------------------
>>> >>
>>> >>
>>> >>    public class TestService{
>>> >>
>>> >>               public SampleBean getAddres(){
>>> >>
>>> >>               //Get the collection from the business method
>>> >>               Set set = invoke business method
>>> >>               SampleBean sampleBean = new SampleBean();
>>> >>               // Set the collection in a bean.
>>> >>               sampleBean.setData(set);
>>> >>               return sampleBean;
>>> >>
>>> >>               }
>>> >> }
>>> >>
>>> >> But doing so I am facing this exception:
>>> >>
>>> >>         Jan 27, 2007 10:15:02 AM
>>> >> org.apache.axis2.rpc.receivers.RPCMessageReceiver invokeBusinessLogic
>>> >>         SEVERE: Exception occurred while trying to invoke service
>>> method
>>> >> getAdrresses
>>> >>         org.apache.axiom.om.OMException:
>>> >> java.lang.IllegalArgumentException:
>>> >> null rcl
>>> >>         at
>>> >>
>>> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java
>>> >>
>>> >> I know there are some issues with Collection in Axis2. If so, is
>>> there
>>> >> any
>>> >> other alternative way/approach in Axis2 to solve this problem?
>>> >>
>>> >> Regards,
>>> >> Raja
>>> >>
>>> >>
>>> >> --
>>> >> View this message in context:
>>> >>
>>> http://www.nabble.com/return-type-from-Web-Service-tf3132123.html#a8678248
>>> >> Sent from the Axis - User mailing list archive at Nabble.com.
>>> >>
>>> >>
>>> >> ---------------------------------------------------------------------
>>> >> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>>> >> For additional commands, e-mail: axis-user-help@ws.apache.org
>>> >>
>>> >>
>>> >
>>> >
>>> > --
>>> > Paul Fremantle
>>> > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
>>> >
>>> > http://bloglines.com/blog/paulfremantle
>>> > paul@wso2.com
>>> >
>>> > "Oxygenating the Web Service Platform", www.wso2.com
>>> >
>>> > ---------------------------------------------------------------------
>>> > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>>> > For additional commands, e-mail: axis-user-help@ws.apache.org
>>> >
>>> >
>>> >
>>> http://www.nabble.com/file/6009/TestClient.java TestClient.java
>>> http://www.nabble.com/file/6010/TestStub.java TestStub.java
>>> http://www.nabble.com/file/6011/TestData.java TestData.java
>>> http://www.nabble.com/file/6012/TestBean.java TestBean.java
>>> http://www.nabble.com/file/6013/TestService.java TestService.java
>>> http://www.nabble.com/file/6014/soap-req-response.txt
>>> soap-req-response.txt
>>> http://www.nabble.com/file/6015/exception.txt exception.txt
>>> --
>>> View this message in context:
>>> http://www.nabble.com/return-type-from-Web-Service-tf3132123.html#a8687456
>>> Sent from the Axis - User mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>>> For additional commands, e-mail: axis-user-help@ws.apache.org
>>>
>>>
>> 
>> 
>> -- 
>> Paul Fremantle
>> VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
>> 
>> http://bloglines.com/blog/paulfremantle
>> paul@wso2.com
>> 
>> "Oxygenating the Web Service Platform", www.wso2.com
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-user-help@ws.apache.org
>> 
>> 
>> 
> 
> -- 
> View this message in context:
> http://www.nabble.com/return-type-from-Web-Service-tf3132123.html#a8689059
> Sent from the Axis - User mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
> 
> 
> -- 
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.5.432 / Virus Database: 268.17.8/649 - Release Date: 1/23/2007
> 8:40 PM
>  
> 
> -- 
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.5.432 / Virus Database: 268.17.8/649 - Release Date: 1/23/2007
> 8:40 PM
>  
> 
> DISCLAIMER:
> -----------------------------------------------------------------------------------------------------------------------
> 
> The contents of this e-mail and any attachment(s) are confidential and
> intended for the named recipient(s) only.
> It shall not attach any liability on the originator or HCL or its
> affiliates. Any views or opinions presented in 
> this email are solely those of the author and may not necessarily reflect
> the opinions of HCL or its affiliates.
> Any form of reproduction, dissemination, copying, disclosure,
> modification, distribution and / or publication of 
> this message without the prior written consent of the author of this
> e-mail is strictly prohibited. If you have 
> received this email in error please delete it and notify the sender
> immediately. Before opening any mail and 
> attachments please check them for viruses and defect.
> 
> -----------------------------------------------------------------------------------------------------------------------
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/return-type-from-Web-Service-tf3132123.html#a8709138
Sent from the Axis - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


RE: return type from Web Service

Posted by "Gurpreet Singh Dhanoa, HCL-Industry Solutions" <Gu...@hcl.in>.
On Apache web site. You can see link to report a bug and the system in which u report a bug is called as JIRA

-----Original Message-----
From: rajac [mailto:raja.chattopadhyay@gmail.com] 
Sent: Monday, January 29, 2007 8:16 AM
To: axis-user@ws.apache.org
Subject: Re: return type from Web Service


Hi Paul,

      Would you please guide me how to report this bug in JIRA?

Regards,
Raja


pzfreo wrote:
> 
> Raja
> 
> Thanks! You've found a real bug! Its a problem serializing Sets. Would
> you be willing to raise a JIRA?
> 
> Paul
> 
> On 1/29/07, rajac <ra...@gmail.com> wrote:
>>
>> Hi Paul,
>>
>> Soap Message
>> ------------------
>> Request
>> -------
>>
>> POST /axis2/services/TestService HTTP/1.1
>> SOAPAction: "urn:anonOutInOp"
>> User-Agent: Axis2
>> Host: 127.0.0.1:6666
>> Transfer-Encoding: chunked
>> Content-Type: text/xml; charset=UTF-8
>>
>> e9
>> <?xml version='1.0' encoding='UTF-8'?>
>>    <soapenv:Envelope
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>>       <soapenv:Header />
>>       <soapenv:Body>
>>          <getAddress xmlns="http://service.pojo.sample/xsd" />
>>       </soapenv:Body>
>>    </soapenv:Envelope>0
>>
>>
>> Response
>> --------
>>
>> HTTP/1.1 500 Internal Server Error
>> Set-Cookie: JSESSIONID=E5B3411D045F4632AE14226BF1137FC2; Path=/axis2
>> Content-Type: text/xml;charset=UTF-8
>> Transfer-Encoding: chunked
>> Date: Mon, 29 Jan 2007 10:50:57 GMT
>> Server: Apache-Coyote/1.1
>> Connection: close
>>
>> 160
>> <?xml version='1.0' encoding='UTF-8'?>
>>    <soapenv:Envelope
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>>       <soapenv:Header />
>>       <soapenv:Body>
>>          <soapenv:Fault>
>>             <faultcode>soapenv:Client</faultcode>
>>             <faultstring>Exception occurred while trying to invoke
>> service
>> method getAddress</faultstring>
>>             <detail />
>>          </soapenv:Fault>
>>       </soapenv:Body>
>>    </soapenv:Envelope>
>> 0
>>
>> My client is interacting with stub and stub in turns interacting with
>> client..
>>
>> TestStub.java
>> ------------------
>> public class TestStub{
>>
>>
>>           RPCServiceClient serviceClient = null;
>>
>>       Options options = null;
>>
>>       EndpointReference targetEPR = null;
>>
>>
>>
>>         public TestStub() throws AxisFault{
>>                 serviceClient = new RPCServiceClient();
>>                 options = serviceClient.getOptions();
>>                 targetEPR = new
>> EndpointReference("http://localhost:6666/axis2/services/TestService");
>>                 options.setTo(targetEPR);
>>         }
>>
>>         public TestBean getAddresses()throws AxisFault{
>>
>>                 QName opGetAddress = new
>> QName("http://service.pojo.sample/xsd",
>> "getAddress");
>>
>>         Object[] opGetAddressesArgs = new Object[] { };
>>         Class[] returnTypes = new Class[] { TestBean.class };
>>
>>
>>         Object[] response = serviceClient.invokeBlocking(opGetAddress,
>>                         opGetAddressesArgs, returnTypes);
>>
>>         System.out.println("Length is : "+response.length );
>>         TestBean obj = (TestBean)response[0];
>>         System.out.println("TestBean : " + obj);
>>         return obj;
>>
>>         }
>> }
>>
>> TestClient.java
>> ----------------------
>>
>> public class TestClient{
>>         public static void main(String args[]){
>>                 try{
>>                         TestStub stub = new TestStub();
>>                         TestBean str = stub.getAddresses();
>>                         System.out.println("Name is : "+
>> str.getAddresses());
>>                 }catch(Exception ex){
>>                         System.out.println("Exception in Client Program
>> :: "+ ex);
>>                 }
>>         }
>> }
>>
>>
>> Exception is:
>> --------------------
>>
>>
>> Addresses frm Sample Bean inside WS : [r3, r2, r1, r4]
>> - Exception occurred while trying to invoke service method getAddress
>> org.apache.axiom.om.OMException: java.lang.IllegalArgumentException: null
>> rcl
>>         at
>> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:199)
>>         at
>> org.apache.axiom.om.impl.llom.OMNodeImpl.build(OMNodeImpl.java:316)
>>         at
>> org.apache.axiom.om.impl.llom.OMElementImpl.build(OMElementImpl.java:624)
>>         at
>> org.apache.axiom.om.impl.llom.OMElementImpl.detach(OMElementImpl.java:591)
>>         at
>> org.apache.axiom.om.impl.llom.OMNodeImpl.setParent(OMNodeImpl.java:117)
>>         at
>> org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:240)
>>         at
>> org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:193)
>>         at
>> org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:97)
>>         at
>> org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:192)
>>         at
>> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessage
>> Receiver.java:136)
>>
>>
>> Also uploaded the relevent files.
>>
>> Thanks,
>> Raja
>>
>>
>>
>> pzfreo wrote:
>> >
>> > Raja
>> >
>> > Please can you use TCPMON to capture the SOAP message and post it
>> > here? That would really help. Also you might need to show us what your
>> > client code looks like.
>> >
>> > Thanks!
>> >
>> > Paul
>> >
>> > On 1/28/07, rajac <ra...@gmail.com> wrote:
>> >>
>> >> Hi,
>> >>       I have little knowledge on Axis2 and just started working on it
>> few
>> >> days back.
>> >>       At present I am trying to develop web service that will
>> basically
>> >> interact the business methods and return it back as bean to client.
>> >>
>> >> Something like:
>> >> ----------------------
>> >> Client <----- | | -----> Web Service Interface  <-----> Actual
>> business
>> >> method
>> >>
>> >>         I am using RPCMessageReceiver for this purpose.
>> >>
>> >>         My business methods are already fixed and most of them are
>> >> returning
>> >> Java Collection type object as return type. Presently I am trying to
>> >> create
>> >> a web service layer that will get the Collection type object from
>> >> business
>> >> method, then I am setting collection object in a bean and returning
>> the
>> >> bean
>> >> from the web service method.
>> >>
>> >> Structure of the bean
>> >> ---------------------------------
>> >>
>> >>                  public class SampleBean{
>> >>                                    Set set;
>> >>
>> >>                                    public void setData(Set set){
>> >>                                      this.set = set;
>> >>                                    }
>> >>
>> >>                                    public Set getData(){
>> >>                                      return set;
>> >>                                    }
>> >>                 }
>> >>
>> >> In my Service Class
>> >> ------------------------------
>> >>
>> >>
>> >>    public class TestService{
>> >>
>> >>               public SampleBean getAddres(){
>> >>
>> >>               //Get the collection from the business method
>> >>               Set set = invoke business method
>> >>               SampleBean sampleBean = new SampleBean();
>> >>               // Set the collection in a bean.
>> >>               sampleBean.setData(set);
>> >>               return sampleBean;
>> >>
>> >>               }
>> >> }
>> >>
>> >> But doing so I am facing this exception:
>> >>
>> >>         Jan 27, 2007 10:15:02 AM
>> >> org.apache.axis2.rpc.receivers.RPCMessageReceiver invokeBusinessLogic
>> >>         SEVERE: Exception occurred while trying to invoke service
>> method
>> >> getAdrresses
>> >>         org.apache.axiom.om.OMException:
>> >> java.lang.IllegalArgumentException:
>> >> null rcl
>> >>         at
>> >> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java
>> >>
>> >> I know there are some issues with Collection in Axis2. If so, is there
>> >> any
>> >> other alternative way/approach in Axis2 to solve this problem?
>> >>
>> >> Regards,
>> >> Raja
>> >>
>> >>
>> >> --
>> >> View this message in context:
>> >>
>> http://www.nabble.com/return-type-from-Web-Service-tf3132123.html#a8678248
>> >> Sent from the Axis - User mailing list archive at Nabble.com.
>> >>
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>> >> For additional commands, e-mail: axis-user-help@ws.apache.org
>> >>
>> >>
>> >
>> >
>> > --
>> > Paul Fremantle
>> > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
>> >
>> > http://bloglines.com/blog/paulfremantle
>> > paul@wso2.com
>> >
>> > "Oxygenating the Web Service Platform", www.wso2.com
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>> > For additional commands, e-mail: axis-user-help@ws.apache.org
>> >
>> >
>> >
>> http://www.nabble.com/file/6009/TestClient.java TestClient.java
>> http://www.nabble.com/file/6010/TestStub.java TestStub.java
>> http://www.nabble.com/file/6011/TestData.java TestData.java
>> http://www.nabble.com/file/6012/TestBean.java TestBean.java
>> http://www.nabble.com/file/6013/TestService.java TestService.java
>> http://www.nabble.com/file/6014/soap-req-response.txt
>> soap-req-response.txt
>> http://www.nabble.com/file/6015/exception.txt exception.txt
>> --
>> View this message in context:
>> http://www.nabble.com/return-type-from-Web-Service-tf3132123.html#a8687456
>> Sent from the Axis - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-user-help@ws.apache.org
>>
>>
> 
> 
> -- 
> Paul Fremantle
> VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
> 
> http://bloglines.com/blog/paulfremantle
> paul@wso2.com
> 
> "Oxygenating the Web Service Platform", www.wso2.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/return-type-from-Web-Service-tf3132123.html#a8689059
Sent from the Axis - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.17.8/649 - Release Date: 1/23/2007 8:40 PM
 

-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.17.8/649 - Release Date: 1/23/2007 8:40 PM
 

DISCLAIMER:
-----------------------------------------------------------------------------------------------------------------------

The contents of this e-mail and any attachment(s) are confidential and intended for the named recipient(s) only.
It shall not attach any liability on the originator or HCL or its affiliates. Any views or opinions presented in 
this email are solely those of the author and may not necessarily reflect the opinions of HCL or its affiliates.
Any form of reproduction, dissemination, copying, disclosure, modification, distribution and / or publication of 
this message without the prior written consent of the author of this e-mail is strictly prohibited. If you have 
received this email in error please delete it and notify the sender immediately. Before opening any mail and 
attachments please check them for viruses and defect.

-----------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Re: return type from Web Service

Posted by rajac <ra...@gmail.com>.
Hi Paul,

      Would you please guide me how to report this bug in JIRA?

Regards,
Raja


pzfreo wrote:
> 
> Raja
> 
> Thanks! You've found a real bug! Its a problem serializing Sets. Would
> you be willing to raise a JIRA?
> 
> Paul
> 
> On 1/29/07, rajac <ra...@gmail.com> wrote:
>>
>> Hi Paul,
>>
>> Soap Message
>> ------------------
>> Request
>> -------
>>
>> POST /axis2/services/TestService HTTP/1.1
>> SOAPAction: "urn:anonOutInOp"
>> User-Agent: Axis2
>> Host: 127.0.0.1:6666
>> Transfer-Encoding: chunked
>> Content-Type: text/xml; charset=UTF-8
>>
>> e9
>> <?xml version='1.0' encoding='UTF-8'?>
>>    <soapenv:Envelope
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>>       <soapenv:Header />
>>       <soapenv:Body>
>>          <getAddress xmlns="http://service.pojo.sample/xsd" />
>>       </soapenv:Body>
>>    </soapenv:Envelope>0
>>
>>
>> Response
>> --------
>>
>> HTTP/1.1 500 Internal Server Error
>> Set-Cookie: JSESSIONID=E5B3411D045F4632AE14226BF1137FC2; Path=/axis2
>> Content-Type: text/xml;charset=UTF-8
>> Transfer-Encoding: chunked
>> Date: Mon, 29 Jan 2007 10:50:57 GMT
>> Server: Apache-Coyote/1.1
>> Connection: close
>>
>> 160
>> <?xml version='1.0' encoding='UTF-8'?>
>>    <soapenv:Envelope
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>>       <soapenv:Header />
>>       <soapenv:Body>
>>          <soapenv:Fault>
>>             <faultcode>soapenv:Client</faultcode>
>>             <faultstring>Exception occurred while trying to invoke
>> service
>> method getAddress</faultstring>
>>             <detail />
>>          </soapenv:Fault>
>>       </soapenv:Body>
>>    </soapenv:Envelope>
>> 0
>>
>> My client is interacting with stub and stub in turns interacting with
>> client..
>>
>> TestStub.java
>> ------------------
>> public class TestStub{
>>
>>
>>           RPCServiceClient serviceClient = null;
>>
>>       Options options = null;
>>
>>       EndpointReference targetEPR = null;
>>
>>
>>
>>         public TestStub() throws AxisFault{
>>                 serviceClient = new RPCServiceClient();
>>                 options = serviceClient.getOptions();
>>                 targetEPR = new
>> EndpointReference("http://localhost:6666/axis2/services/TestService");
>>                 options.setTo(targetEPR);
>>         }
>>
>>         public TestBean getAddresses()throws AxisFault{
>>
>>                 QName opGetAddress = new
>> QName("http://service.pojo.sample/xsd",
>> "getAddress");
>>
>>         Object[] opGetAddressesArgs = new Object[] { };
>>         Class[] returnTypes = new Class[] { TestBean.class };
>>
>>
>>         Object[] response = serviceClient.invokeBlocking(opGetAddress,
>>                         opGetAddressesArgs, returnTypes);
>>
>>         System.out.println("Length is : "+response.length );
>>         TestBean obj = (TestBean)response[0];
>>         System.out.println("TestBean : " + obj);
>>         return obj;
>>
>>         }
>> }
>>
>> TestClient.java
>> ----------------------
>>
>> public class TestClient{
>>         public static void main(String args[]){
>>                 try{
>>                         TestStub stub = new TestStub();
>>                         TestBean str = stub.getAddresses();
>>                         System.out.println("Name is : "+
>> str.getAddresses());
>>                 }catch(Exception ex){
>>                         System.out.println("Exception in Client Program
>> :: "+ ex);
>>                 }
>>         }
>> }
>>
>>
>> Exception is:
>> --------------------
>>
>>
>> Addresses frm Sample Bean inside WS : [r3, r2, r1, r4]
>> - Exception occurred while trying to invoke service method getAddress
>> org.apache.axiom.om.OMException: java.lang.IllegalArgumentException: null
>> rcl
>>         at
>> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:199)
>>         at
>> org.apache.axiom.om.impl.llom.OMNodeImpl.build(OMNodeImpl.java:316)
>>         at
>> org.apache.axiom.om.impl.llom.OMElementImpl.build(OMElementImpl.java:624)
>>         at
>> org.apache.axiom.om.impl.llom.OMElementImpl.detach(OMElementImpl.java:591)
>>         at
>> org.apache.axiom.om.impl.llom.OMNodeImpl.setParent(OMNodeImpl.java:117)
>>         at
>> org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:240)
>>         at
>> org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:193)
>>         at
>> org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:97)
>>         at
>> org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:192)
>>         at
>> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessage
>> Receiver.java:136)
>>
>>
>> Also uploaded the relevent files.
>>
>> Thanks,
>> Raja
>>
>>
>>
>> pzfreo wrote:
>> >
>> > Raja
>> >
>> > Please can you use TCPMON to capture the SOAP message and post it
>> > here? That would really help. Also you might need to show us what your
>> > client code looks like.
>> >
>> > Thanks!
>> >
>> > Paul
>> >
>> > On 1/28/07, rajac <ra...@gmail.com> wrote:
>> >>
>> >> Hi,
>> >>       I have little knowledge on Axis2 and just started working on it
>> few
>> >> days back.
>> >>       At present I am trying to develop web service that will
>> basically
>> >> interact the business methods and return it back as bean to client.
>> >>
>> >> Something like:
>> >> ----------------------
>> >> Client <----- | | -----> Web Service Interface  <-----> Actual
>> business
>> >> method
>> >>
>> >>         I am using RPCMessageReceiver for this purpose.
>> >>
>> >>         My business methods are already fixed and most of them are
>> >> returning
>> >> Java Collection type object as return type. Presently I am trying to
>> >> create
>> >> a web service layer that will get the Collection type object from
>> >> business
>> >> method, then I am setting collection object in a bean and returning
>> the
>> >> bean
>> >> from the web service method.
>> >>
>> >> Structure of the bean
>> >> ---------------------------------
>> >>
>> >>                  public class SampleBean{
>> >>                                    Set set;
>> >>
>> >>                                    public void setData(Set set){
>> >>                                      this.set = set;
>> >>                                    }
>> >>
>> >>                                    public Set getData(){
>> >>                                      return set;
>> >>                                    }
>> >>                 }
>> >>
>> >> In my Service Class
>> >> ------------------------------
>> >>
>> >>
>> >>    public class TestService{
>> >>
>> >>               public SampleBean getAddres(){
>> >>
>> >>               //Get the collection from the business method
>> >>               Set set = invoke business method
>> >>               SampleBean sampleBean = new SampleBean();
>> >>               // Set the collection in a bean.
>> >>               sampleBean.setData(set);
>> >>               return sampleBean;
>> >>
>> >>               }
>> >> }
>> >>
>> >> But doing so I am facing this exception:
>> >>
>> >>         Jan 27, 2007 10:15:02 AM
>> >> org.apache.axis2.rpc.receivers.RPCMessageReceiver invokeBusinessLogic
>> >>         SEVERE: Exception occurred while trying to invoke service
>> method
>> >> getAdrresses
>> >>         org.apache.axiom.om.OMException:
>> >> java.lang.IllegalArgumentException:
>> >> null rcl
>> >>         at
>> >> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java
>> >>
>> >> I know there are some issues with Collection in Axis2. If so, is there
>> >> any
>> >> other alternative way/approach in Axis2 to solve this problem?
>> >>
>> >> Regards,
>> >> Raja
>> >>
>> >>
>> >> --
>> >> View this message in context:
>> >>
>> http://www.nabble.com/return-type-from-Web-Service-tf3132123.html#a8678248
>> >> Sent from the Axis - User mailing list archive at Nabble.com.
>> >>
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>> >> For additional commands, e-mail: axis-user-help@ws.apache.org
>> >>
>> >>
>> >
>> >
>> > --
>> > Paul Fremantle
>> > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
>> >
>> > http://bloglines.com/blog/paulfremantle
>> > paul@wso2.com
>> >
>> > "Oxygenating the Web Service Platform", www.wso2.com
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>> > For additional commands, e-mail: axis-user-help@ws.apache.org
>> >
>> >
>> >
>> http://www.nabble.com/file/6009/TestClient.java TestClient.java
>> http://www.nabble.com/file/6010/TestStub.java TestStub.java
>> http://www.nabble.com/file/6011/TestData.java TestData.java
>> http://www.nabble.com/file/6012/TestBean.java TestBean.java
>> http://www.nabble.com/file/6013/TestService.java TestService.java
>> http://www.nabble.com/file/6014/soap-req-response.txt
>> soap-req-response.txt
>> http://www.nabble.com/file/6015/exception.txt exception.txt
>> --
>> View this message in context:
>> http://www.nabble.com/return-type-from-Web-Service-tf3132123.html#a8687456
>> Sent from the Axis - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-user-help@ws.apache.org
>>
>>
> 
> 
> -- 
> Paul Fremantle
> VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
> 
> http://bloglines.com/blog/paulfremantle
> paul@wso2.com
> 
> "Oxygenating the Web Service Platform", www.wso2.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/return-type-from-Web-Service-tf3132123.html#a8689059
Sent from the Axis - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Re: return type from Web Service

Posted by Paul Fremantle <pz...@gmail.com>.
Raja

Thanks! You've found a real bug! Its a problem serializing Sets. Would
you be willing to raise a JIRA?

Paul

On 1/29/07, rajac <ra...@gmail.com> wrote:
>
> Hi Paul,
>
> Soap Message
> ------------------
> Request
> -------
>
> POST /axis2/services/TestService HTTP/1.1
> SOAPAction: "urn:anonOutInOp"
> User-Agent: Axis2
> Host: 127.0.0.1:6666
> Transfer-Encoding: chunked
> Content-Type: text/xml; charset=UTF-8
>
> e9
> <?xml version='1.0' encoding='UTF-8'?>
>    <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>       <soapenv:Header />
>       <soapenv:Body>
>          <getAddress xmlns="http://service.pojo.sample/xsd" />
>       </soapenv:Body>
>    </soapenv:Envelope>0
>
>
> Response
> --------
>
> HTTP/1.1 500 Internal Server Error
> Set-Cookie: JSESSIONID=E5B3411D045F4632AE14226BF1137FC2; Path=/axis2
> Content-Type: text/xml;charset=UTF-8
> Transfer-Encoding: chunked
> Date: Mon, 29 Jan 2007 10:50:57 GMT
> Server: Apache-Coyote/1.1
> Connection: close
>
> 160
> <?xml version='1.0' encoding='UTF-8'?>
>    <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>       <soapenv:Header />
>       <soapenv:Body>
>          <soapenv:Fault>
>             <faultcode>soapenv:Client</faultcode>
>             <faultstring>Exception occurred while trying to invoke service
> method getAddress</faultstring>
>             <detail />
>          </soapenv:Fault>
>       </soapenv:Body>
>    </soapenv:Envelope>
> 0
>
> My client is interacting with stub and stub in turns interacting with
> client..
>
> TestStub.java
> ------------------
> public class TestStub{
>
>
>           RPCServiceClient serviceClient = null;
>
>       Options options = null;
>
>       EndpointReference targetEPR = null;
>
>
>
>         public TestStub() throws AxisFault{
>                 serviceClient = new RPCServiceClient();
>                 options = serviceClient.getOptions();
>                 targetEPR = new
> EndpointReference("http://localhost:6666/axis2/services/TestService");
>                 options.setTo(targetEPR);
>         }
>
>         public TestBean getAddresses()throws AxisFault{
>
>                 QName opGetAddress = new QName("http://service.pojo.sample/xsd",
> "getAddress");
>
>         Object[] opGetAddressesArgs = new Object[] { };
>         Class[] returnTypes = new Class[] { TestBean.class };
>
>
>         Object[] response = serviceClient.invokeBlocking(opGetAddress,
>                         opGetAddressesArgs, returnTypes);
>
>         System.out.println("Length is : "+response.length );
>         TestBean obj = (TestBean)response[0];
>         System.out.println("TestBean : " + obj);
>         return obj;
>
>         }
> }
>
> TestClient.java
> ----------------------
>
> public class TestClient{
>         public static void main(String args[]){
>                 try{
>                         TestStub stub = new TestStub();
>                         TestBean str = stub.getAddresses();
>                         System.out.println("Name is : "+ str.getAddresses());
>                 }catch(Exception ex){
>                         System.out.println("Exception in Client Program :: "+ ex);
>                 }
>         }
> }
>
>
> Exception is:
> --------------------
>
>
> Addresses frm Sample Bean inside WS : [r3, r2, r1, r4]
> - Exception occurred while trying to invoke service method getAddress
> org.apache.axiom.om.OMException: java.lang.IllegalArgumentException: null
> rcl
>         at
> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:199)
>         at
> org.apache.axiom.om.impl.llom.OMNodeImpl.build(OMNodeImpl.java:316)
>         at
> org.apache.axiom.om.impl.llom.OMElementImpl.build(OMElementImpl.java:624)
>         at
> org.apache.axiom.om.impl.llom.OMElementImpl.detach(OMElementImpl.java:591)
>         at
> org.apache.axiom.om.impl.llom.OMNodeImpl.setParent(OMNodeImpl.java:117)
>         at
> org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:240)
>         at
> org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:193)
>         at
> org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:97)
>         at
> org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:192)
>         at
> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessage
> Receiver.java:136)
>
>
> Also uploaded the relevent files.
>
> Thanks,
> Raja
>
>
>
> pzfreo wrote:
> >
> > Raja
> >
> > Please can you use TCPMON to capture the SOAP message and post it
> > here? That would really help. Also you might need to show us what your
> > client code looks like.
> >
> > Thanks!
> >
> > Paul
> >
> > On 1/28/07, rajac <ra...@gmail.com> wrote:
> >>
> >> Hi,
> >>       I have little knowledge on Axis2 and just started working on it few
> >> days back.
> >>       At present I am trying to develop web service that will basically
> >> interact the business methods and return it back as bean to client.
> >>
> >> Something like:
> >> ----------------------
> >> Client <----- | | -----> Web Service Interface  <-----> Actual business
> >> method
> >>
> >>         I am using RPCMessageReceiver for this purpose.
> >>
> >>         My business methods are already fixed and most of them are
> >> returning
> >> Java Collection type object as return type. Presently I am trying to
> >> create
> >> a web service layer that will get the Collection type object from
> >> business
> >> method, then I am setting collection object in a bean and returning the
> >> bean
> >> from the web service method.
> >>
> >> Structure of the bean
> >> ---------------------------------
> >>
> >>                  public class SampleBean{
> >>                                    Set set;
> >>
> >>                                    public void setData(Set set){
> >>                                      this.set = set;
> >>                                    }
> >>
> >>                                    public Set getData(){
> >>                                      return set;
> >>                                    }
> >>                 }
> >>
> >> In my Service Class
> >> ------------------------------
> >>
> >>
> >>    public class TestService{
> >>
> >>               public SampleBean getAddres(){
> >>
> >>               //Get the collection from the business method
> >>               Set set = invoke business method
> >>               SampleBean sampleBean = new SampleBean();
> >>               // Set the collection in a bean.
> >>               sampleBean.setData(set);
> >>               return sampleBean;
> >>
> >>               }
> >> }
> >>
> >> But doing so I am facing this exception:
> >>
> >>         Jan 27, 2007 10:15:02 AM
> >> org.apache.axis2.rpc.receivers.RPCMessageReceiver invokeBusinessLogic
> >>         SEVERE: Exception occurred while trying to invoke service method
> >> getAdrresses
> >>         org.apache.axiom.om.OMException:
> >> java.lang.IllegalArgumentException:
> >> null rcl
> >>         at
> >> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java
> >>
> >> I know there are some issues with Collection in Axis2. If so, is there
> >> any
> >> other alternative way/approach in Axis2 to solve this problem?
> >>
> >> Regards,
> >> Raja
> >>
> >>
> >> --
> >> View this message in context:
> >> http://www.nabble.com/return-type-from-Web-Service-tf3132123.html#a8678248
> >> Sent from the Axis - User mailing list archive at Nabble.com.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> >> For additional commands, e-mail: axis-user-help@ws.apache.org
> >>
> >>
> >
> >
> > --
> > Paul Fremantle
> > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
> >
> > http://bloglines.com/blog/paulfremantle
> > paul@wso2.com
> >
> > "Oxygenating the Web Service Platform", www.wso2.com
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-user-help@ws.apache.org
> >
> >
> >
> http://www.nabble.com/file/6009/TestClient.java TestClient.java
> http://www.nabble.com/file/6010/TestStub.java TestStub.java
> http://www.nabble.com/file/6011/TestData.java TestData.java
> http://www.nabble.com/file/6012/TestBean.java TestBean.java
> http://www.nabble.com/file/6013/TestService.java TestService.java
> http://www.nabble.com/file/6014/soap-req-response.txt soap-req-response.txt
> http://www.nabble.com/file/6015/exception.txt exception.txt
> --
> View this message in context: http://www.nabble.com/return-type-from-Web-Service-tf3132123.html#a8687456
> Sent from the Axis - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>


-- 
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

http://bloglines.com/blog/paulfremantle
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Re: return type from Web Service

Posted by rajac <ra...@gmail.com>.
Hi Paul,

Soap Message
------------------
Request
-------

POST /axis2/services/TestService HTTP/1.1
SOAPAction: "urn:anonOutInOp"
User-Agent: Axis2
Host: 127.0.0.1:6666
Transfer-Encoding: chunked
Content-Type: text/xml; charset=UTF-8

e9
<?xml version='1.0' encoding='UTF-8'?>
   <soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
      <soapenv:Header />
      <soapenv:Body>
         <getAddress xmlns="http://service.pojo.sample/xsd" />
      </soapenv:Body>
   </soapenv:Envelope>0


Response
--------

HTTP/1.1 500 Internal Server Error
Set-Cookie: JSESSIONID=E5B3411D045F4632AE14226BF1137FC2; Path=/axis2
Content-Type: text/xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Mon, 29 Jan 2007 10:50:57 GMT
Server: Apache-Coyote/1.1
Connection: close

160
<?xml version='1.0' encoding='UTF-8'?>
   <soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
      <soapenv:Header />
      <soapenv:Body>
         <soapenv:Fault>
            <faultcode>soapenv:Client</faultcode>
            <faultstring>Exception occurred while trying to invoke service
method getAddress</faultstring>
            <detail />
         </soapenv:Fault>
      </soapenv:Body>
   </soapenv:Envelope>
0

My client is interacting with stub and stub in turns interacting with
client..

TestStub.java
------------------
public class TestStub{
	
	
	  RPCServiceClient serviceClient = null;

      Options options = null;

      EndpointReference targetEPR = null;

      

	public TestStub() throws AxisFault{
		serviceClient = new RPCServiceClient();
		options = serviceClient.getOptions();
		targetEPR = new
EndpointReference("http://localhost:6666/axis2/services/TestService");
		options.setTo(targetEPR);
	}
	
	public TestBean getAddresses()throws AxisFault{
			
		QName opGetAddress = new QName("http://service.pojo.sample/xsd",
"getAddress");

        Object[] opGetAddressesArgs = new Object[] { };
        Class[] returnTypes = new Class[] { TestBean.class };
        
        
        Object[] response = serviceClient.invokeBlocking(opGetAddress,
        		opGetAddressesArgs, returnTypes);
        
        System.out.println("Length is : "+response.length );
        TestBean obj = (TestBean)response[0];
        System.out.println("TestBean : " + obj);
        return obj;
       
	}
}

TestClient.java
----------------------

public class TestClient{
	public static void main(String args[]){
		try{
			TestStub stub = new TestStub();
			TestBean str = stub.getAddresses();
			System.out.println("Name is : "+ str.getAddresses());
		}catch(Exception ex){
			System.out.println("Exception in Client Program :: "+ ex);
		}
	}
}


Exception is:
--------------------


Addresses frm Sample Bean inside WS : [r3, r2, r1, r4]
- Exception occurred while trying to invoke service method getAddress
org.apache.axiom.om.OMException: java.lang.IllegalArgumentException: null
rcl
        at
org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:199)
        at
org.apache.axiom.om.impl.llom.OMNodeImpl.build(OMNodeImpl.java:316)
        at
org.apache.axiom.om.impl.llom.OMElementImpl.build(OMElementImpl.java:624)
        at
org.apache.axiom.om.impl.llom.OMElementImpl.detach(OMElementImpl.java:591)
        at
org.apache.axiom.om.impl.llom.OMNodeImpl.setParent(OMNodeImpl.java:117)
        at
org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:240)
        at
org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:193)
        at
org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:97)
        at
org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:192)
        at
org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessage
Receiver.java:136)


Also uploaded the relevent files.

Thanks,
Raja



pzfreo wrote:
> 
> Raja
> 
> Please can you use TCPMON to capture the SOAP message and post it
> here? That would really help. Also you might need to show us what your
> client code looks like.
> 
> Thanks!
> 
> Paul
> 
> On 1/28/07, rajac <ra...@gmail.com> wrote:
>>
>> Hi,
>>       I have little knowledge on Axis2 and just started working on it few
>> days back.
>>       At present I am trying to develop web service that will basically
>> interact the business methods and return it back as bean to client.
>>
>> Something like:
>> ----------------------
>> Client <----- | | -----> Web Service Interface  <-----> Actual business
>> method
>>
>>         I am using RPCMessageReceiver for this purpose.
>>
>>         My business methods are already fixed and most of them are
>> returning
>> Java Collection type object as return type. Presently I am trying to
>> create
>> a web service layer that will get the Collection type object from
>> business
>> method, then I am setting collection object in a bean and returning the
>> bean
>> from the web service method.
>>
>> Structure of the bean
>> ---------------------------------
>>
>>                  public class SampleBean{
>>                                    Set set;
>>
>>                                    public void setData(Set set){
>>                                      this.set = set;
>>                                    }
>>
>>                                    public Set getData(){
>>                                      return set;
>>                                    }
>>                 }
>>
>> In my Service Class
>> ------------------------------
>>
>>
>>    public class TestService{
>>
>>               public SampleBean getAddres(){
>>
>>               //Get the collection from the business method
>>               Set set = invoke business method
>>               SampleBean sampleBean = new SampleBean();
>>               // Set the collection in a bean.
>>               sampleBean.setData(set);
>>               return sampleBean;
>>
>>               }
>> }
>>
>> But doing so I am facing this exception:
>>
>>         Jan 27, 2007 10:15:02 AM
>> org.apache.axis2.rpc.receivers.RPCMessageReceiver invokeBusinessLogic
>>         SEVERE: Exception occurred while trying to invoke service method
>> getAdrresses
>>         org.apache.axiom.om.OMException:
>> java.lang.IllegalArgumentException:
>> null rcl
>>         at
>> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java
>>
>> I know there are some issues with Collection in Axis2. If so, is there
>> any
>> other alternative way/approach in Axis2 to solve this problem?
>>
>> Regards,
>> Raja
>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/return-type-from-Web-Service-tf3132123.html#a8678248
>> Sent from the Axis - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-user-help@ws.apache.org
>>
>>
> 
> 
> -- 
> Paul Fremantle
> VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
> 
> http://bloglines.com/blog/paulfremantle
> paul@wso2.com
> 
> "Oxygenating the Web Service Platform", www.wso2.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
> 
> 
> 
http://www.nabble.com/file/6009/TestClient.java TestClient.java 
http://www.nabble.com/file/6010/TestStub.java TestStub.java 
http://www.nabble.com/file/6011/TestData.java TestData.java 
http://www.nabble.com/file/6012/TestBean.java TestBean.java 
http://www.nabble.com/file/6013/TestService.java TestService.java 
http://www.nabble.com/file/6014/soap-req-response.txt soap-req-response.txt 
http://www.nabble.com/file/6015/exception.txt exception.txt 
-- 
View this message in context: http://www.nabble.com/return-type-from-Web-Service-tf3132123.html#a8687456
Sent from the Axis - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Re: return type from Web Service

Posted by Paul Fremantle <pz...@gmail.com>.
Raja

Please can you use TCPMON to capture the SOAP message and post it
here? That would really help. Also you might need to show us what your
client code looks like.

Thanks!

Paul

On 1/28/07, rajac <ra...@gmail.com> wrote:
>
> Hi,
>       I have little knowledge on Axis2 and just started working on it few
> days back.
>       At present I am trying to develop web service that will basically
> interact the business methods and return it back as bean to client.
>
> Something like:
> ----------------------
> Client <----- | | -----> Web Service Interface  <-----> Actual business
> method
>
>         I am using RPCMessageReceiver for this purpose.
>
>         My business methods are already fixed and most of them are returning
> Java Collection type object as return type. Presently I am trying to create
> a web service layer that will get the Collection type object from business
> method, then I am setting collection object in a bean and returning the bean
> from the web service method.
>
> Structure of the bean
> ---------------------------------
>
>                  public class SampleBean{
>                                    Set set;
>
>                                    public void setData(Set set){
>                                      this.set = set;
>                                    }
>
>                                    public Set getData(){
>                                      return set;
>                                    }
>                 }
>
> In my Service Class
> ------------------------------
>
>
>    public class TestService{
>
>               public SampleBean getAddres(){
>
>               //Get the collection from the business method
>               Set set = invoke business method
>               SampleBean sampleBean = new SampleBean();
>               // Set the collection in a bean.
>               sampleBean.setData(set);
>               return sampleBean;
>
>               }
> }
>
> But doing so I am facing this exception:
>
>         Jan 27, 2007 10:15:02 AM
> org.apache.axis2.rpc.receivers.RPCMessageReceiver invokeBusinessLogic
>         SEVERE: Exception occurred while trying to invoke service method
> getAdrresses
>         org.apache.axiom.om.OMException: java.lang.IllegalArgumentException:
> null rcl
>         at
> org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java
>
> I know there are some issues with Collection in Axis2. If so, is there any
> other alternative way/approach in Axis2 to solve this problem?
>
> Regards,
> Raja
>
>
> --
> View this message in context: http://www.nabble.com/return-type-from-Web-Service-tf3132123.html#a8678248
> Sent from the Axis - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>


-- 
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

http://bloglines.com/blog/paulfremantle
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org