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 <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
> 
> 
> -- 
> Paul Fremantle
> VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
> 
> http://bloglines.com/blog/paulfremantle
> [EMAIL PROTECTED]
> 
> "Oxygenating the Web Service Platform", www.wso2.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to