On Tue, Apr 22, 2014 at 5:03 PM, Supun Sethunga <[email protected]> wrote:
> Hi Gayan, > > Thanks for looking in to it. > > So what alternations can I take instead of sending an OMElement? Does > "anyType" accepts objects of some custom class (manually written), other > than generic type? > Or is it okay to send data using generic types (since it does not sound a > very good practice)? > > Thanks and Regards, > Supun > > > On Tue, Apr 22, 2014 at 4:28 PM, Gayan Yalpathwala <[email protected]>wrote: > >> Hi Supun, >> >> >> On Tue, Apr 22, 2014 at 3:08 PM, Supun Sethunga <[email protected]> wrote: >> >>> Hi Gayan, >>> >>> I went through the link, but doesn't seems to be the issue in my case. >>> >>> Message sent by the client does not contain the SOAP envelop. And the >>> same method actually works when accessed using sendReceive() function. I >>> think the issue is with the data type of the element in the wsdl, which is >>> as below. >>> >>> <xs:element name="viewOrder"> >>> <xs:complexType> >>> <xs:sequence> >>> <xs:element minOccurs="0" name="element" nillable="true" >>> type="xs:*anyType"*/> >>> </xs:sequence> >>> </xs:complexType> >>> </xs:element> >>> >> Try replacing above part in your wsdl with following <xs:element name="viewOrder"> <xs:complexType> <xs:sequence> <xs:any processContents="skip"/> </xs:sequence> </xs:complexType> </xs:element> Then ADB will generate code that represents the content of OriginalMessage as an OMElement. > >>> It considers the type as "anyType", thus the method in the stub is >>> created with a input parameter of the type "java.lang.Object" rather than >>> an OMElement. >>> >> >> I found that there is a known issue here. Stub method is supposed to >> handle any generic java object when the type is "anyType" in wsdl, but >> throws this exception only for OMElement. There is a previous discussion >> subjecting *"[Dev] {Need help/ AXIS2}"Unknown type can not serialize" >> Exception"* and I can see two open issues ([1] and [2]) as well. I think >> Dushan can shed some light on this. >> >> [1] https://issues.apache.org/jira/browse/AXIS2-3797 >> [2] https://wso2.org/jira/browse/WSAS-1553 >> >> >>> Not sure about a solution as yet. >>> >>> Thanks, >>> Supun >>> >>> >>> On Tue, Apr 22, 2014 at 2:55 PM, Gayan Yalpathwala <[email protected]>wrote: >>> >>>> Hi Supun, >>>> >>>> As far as I have identified, this can occur when the input does not >>>> match with the expected. I think you might have sent a message wrapped by >>>> an envelope where the method only expects the actual payload. Please refer >>>> comments in [1]. >>>> >>>> [1] https://issues.apache.org/jira/browse/AXIOM-237 >>>> >>>> Thanks, >>>> >>>> >>>> On Tue, Apr 22, 2014 at 10:13 AM, Supun Sethunga <[email protected]>wrote: >>>> >>>>> Hi, >>>>> >>>>> Im trying to create a web-service in Axis2 and access the service from >>>>> a client using the stub (which was generated using the wsdl). One of the >>>>> methods takes a OMElement as the input parameter. Thus, when I call that >>>>> method using the stub, I get the following Exception. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> *Exception in thread "main" java.lang.RuntimeException: Can not >>>>> serialize OM Element Envelope at >>>>> org.apache.axiom.om.impl.llom.OMElementImpl.toString(OMElementImpl.java:963) >>>>> at java.lang.String.valueOf(String.java:2854) at >>>>> java.io.PrintStream.println(PrintStream.java:821) at >>>>> client.SecureOrderProcessServiceStub.viewOrder(SecureOrderProcessServiceStub.java:471) >>>>> at client.SecureOrderProcessClient.main(SecureOrderProcessClient.java:31) >>>>> Caused by: javax.xml.stream.XMLStreamException: Unknow type can not >>>>> serialize at >>>>> org.apache.axis2.databinding.utils.ConverterUtil.serializeAnyType(ConverterUtil.java:1491) >>>>> at >>>>> client.SecureOrderProcessServiceStub$ViewOrder.serialize(SecureOrderProcessServiceStub.java:1115) >>>>> at >>>>> client.SecureOrderProcessServiceStub$ViewOrder.serialize(SecureOrderProcessServiceStub.java:1071) >>>>> at >>>>> org.apache.axis2.databinding.ADBDataSource.serialize(ADBDataSource.java:90) >>>>> ....* >>>>> .... >>>>> >>>>> >>>>> The OMElement which is sent as the parameter, takes the following >>>>> format. >>>>> >>>>> >>>>> >>>>> *<ns:viewOrder xmlns:ns="orderprocessorns"> >>>>> <ns:orderId>0001</ns:orderId> </ns:viewOrder>* >>>>> >>>>> >>>>> Any idea whats have been done wrong here? >>>>> The other methods in the service stub, which takes data types >>>>> int/string/etc as input parameters, work fine. >>>>> >>>>> Thanks, >>>>> Supun >>>>> >>>>> -- >>>>> *Supun Sethunga* >>>>> Software Engineer >>>>> WSO2, Inc. >>>>> lean | enterprise | middleware >>>>> Mobile : +94 716546324 >>>>> >>>>> _______________________________________________ >>>>> Dev mailing list >>>>> [email protected] >>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>> >>>>> >>>> >>>> >>>> -- >>>> *Gayan Kaushalya Yalpathwala* >>>> Software Engineer >>>> WSO2 Inc.; http://wso2.com >>>> lean.enterprise.middleware >>>> >>>> mobile: +94 71 8682704 <http://asia14.wso2con.com/> >>>> >>>> <http://asia14.wso2con.com/> >>>> >>> >>> >>> >>> -- >>> *Supun Sethunga* >>> Software Engineer >>> WSO2, Inc. >>> lean | enterprise | middleware >>> Mobile : +94 716546324 >>> >> >> >> Thanks, >> >> >> -- >> *Gayan Kaushalya Yalpathwala* >> Software Engineer >> WSO2 Inc.; http://wso2.com >> lean.enterprise.middleware >> >> mobile: +94 71 8682704 <http://asia14.wso2con.com/> >> >> <http://asia14.wso2con.com/> >> > > > > -- > *Supun Sethunga* > Software Engineer > WSO2, Inc. > lean | enterprise | middleware > Mobile : +94 716546324 > > _______________________________________________ > Dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- *Malintha Adikari* Software Engineer WSO2 Inc.; http://wso2.com lean.enterprise.middleware Mobile: +94 71 2312958 Blog: http://malinthas.blogspot.com Page: http://about.me/malintha
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
