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>
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.
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
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev