on 11-01-2006 6:17 PM
Hi,
Iam trying to consume webservices which is not developed and deployed in WAS>
The reponse is erroring out with :
Service call exception; nested exception is: com.sap.engine.services.webservices.jaxrpc.exceptions.XmlUnmarshalException: XML Deserialization Error. XML is not valid. Node <IviewWorkOrders> child of <soapenv:Body> not described in Schema.
The wsdl i used:
<wsdl:definitions
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
targetNamespace = "http://www.mesasolutions.com/neia_synchronization/wsdl"
xmlns = "http://www.mesasolutions.com/neia_synchronization/wsdl"
name="IviewsWorkOrders_SOAPHTTP"
xmlns:IviewsWorkOrders_XSD =
"http://www.mesasolutions.com/neia_synchronization"
xmlns:xsd = "http://www.w3.org/2001/XMLSchema"
>
<!-- Define the XML messages with schemas. -->
<wsdl:types>
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.mesasolutions.com/neia_synchronization"
xmlns="http://www.mesasolutions.com/neia_synchronization"
elementFormDefault = "qualified">
<!-- xsd:include schemaLocation="IviewMessages.xsd" /-->
<xsd:element name = "RequestHeader" type = "RequestHeader" />
<xsd:complexType name = "RequestHeader" >
<xsd:sequence>
<xsd:element name = "target" type = "xsd:string" minOccurs="0" maxOccurs="1" >
</xsd:element>
<xsd:element name = "source" type = "xsd:string" minOccurs="0" maxOccurs="1" >
</xsd:element>
<xsd:element name = "RequestID" type = "xsd:string" minOccurs="0" maxOccurs="1" >
</xsd:element>
<xsd:element name = "OrderName" type = "xsd:string" minOccurs="0" maxOccurs="1" >
</xsd:element>
<xsd:element name = "Request_date_time" type = "xsd:string" minOccurs="0" maxOccurs="1" >
</xsd:element>
<xsd:element name = "RequestType" type = "xsd:string" minOccurs="0" maxOccurs="1" >
</xsd:element>
<xsd:element name = "GranitedbuserName" type = "xsd:string" minOccurs="1" maxOccurs="1" >
</xsd:element>
<xsd:element name = "GranitedbuserPassword" type = "xsd:string" minOccurs="1" maxOccurs="1" >
</xsd:element>
<xsd:element name = "Granitedbapplicationserver" type = "xsd:string" minOccurs="1" maxOccurs="1" >
</xsd:element>
<xsd:element name = "Granitedbserver" type = "xsd:string" minOccurs="1" maxOccurs="1" >
</xsd:element>
<xsd:element name = "Granitedbname" type = "xsd:string" minOccurs="1" maxOccurs="1" >
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name = "attr" type = "attr" />
<xsd:complexType name = "attr" >
<xsd:sequence>
<xsd:element name = "name" type = "xsd:string" minOccurs="1" maxOccurs="1" >
</xsd:element>
<xsd:element name = "value" type = "xsd:string" minOccurs="1" maxOccurs="1" >
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name = "WorkOrderInstance" type = "WorkOrderInstance" />
<xsd:complexType name = "WorkOrderInstance" >
<xsd:sequence>
<xsd:element name = "NetworkOrderName" type = "xsd:string" minOccurs="0" maxOccurs="1" >
</xsd:element>
<xsd:element name = "InstallationOrderName" type = "xsd:string" minOccurs="0" maxOccurs="1" >
</xsd:element>
<xsd:element name = "NetworkOrderType" type = "xsd:string" minOccurs="0" maxOccurs="1" >
</xsd:element>
<xsd:element name = "NetworkOrderDueDate" type = "xsd:string" minOccurs="0" maxOccurs="1" >
</xsd:element>
<xsd:element name = "NetworkOrderStatus" type = "xsd:string" minOccurs="0" maxOccurs="1" >
</xsd:element>
<xsd:element name = "NetworkOrderDescription" type = "xsd:string" minOccurs="0" maxOccurs="1" >
</xsd:element>
<xsd:element name = "InstallationRequestDate" type = "xsd:string" minOccurs="0" maxOccurs="1" >
</xsd:element>
<xsd:element name = "Resp_Engineer" type = "xsd:string" minOccurs="0" maxOccurs="1" >
</xsd:element>
<xsd:element name = "attr" type = "attr" minOccurs="0" maxOccurs="unbounded" >
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name = "Response" type = "Response" />
<xsd:complexType name = "Response" >
<xsd:sequence>
<xsd:element name = "workOrderInstance" type = "WorkOrderInstance" minOccurs="0" maxOccurs="unbounded" >
</xsd:element>
<xsd:element name = "StatusCode" type = "xsd:string" minOccurs="1" maxOccurs="1" >
</xsd:element>
<xsd:element name = "ExceptionText" type = "xsd:string" minOccurs="0" maxOccurs="1" >
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name = "IviewMessages" type = "IviewMessages" />
<xsd:complexType name = "IviewMessages" >
<xsd:sequence>
<xsd:element name = "Response" type = "Response" minOccurs="0" maxOccurs="1" >
</xsd:element>
<xsd:element name = "RequestHeader" type = "RequestHeader" minOccurs="0" maxOccurs="1" >
</xsd:element>
</xsd:sequence>
<xsd:attribute name="version" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name = "IviewMessages2" type = "IviewMessages2" />
<xsd:complexType name = "IviewMessages2" >
<xsd:sequence>
<xsd:element name = "RequestHeader" type = "RequestHeader" minOccurs="0" maxOccurs="1" >
</xsd:element>
</xsd:sequence>
<xsd:attribute name="version" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="GetworkOrderList">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name= "IviewMessages" type="IviewMessages"/>
<!--
<xsd:element minOccurs="1" maxOccurs="1" name= "IviewMessages" type="xsd:anyType"/>
-->
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GetworkOrderListResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="IviewMessages2" type="IviewMessages2"/>
<!--
<xsd:element minOccurs="1" maxOccurs="1" name="IviewMessages2" type="xsd:anyType"/>
-->
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="GetworkOrderListRequestMsg">
<wsdl:part name="parameters" element="IviewsWorkOrders_XSD:GetworkOrderList"/>
</wsdl:message>
<wsdl:message name="GetworkOrderListResponseMsg">
<wsdl:part name="parameters" element="IviewsWorkOrders_XSD:GetworkOrderListResponse"/>
</wsdl:message>
<wsdl:portType name="IviewsWorkOrders_PT">
<wsdl:operation name="GetworkOrderList">
<wsdl:input message="GetworkOrderListRequestMsg"/>
<wsdl:output message="GetworkOrderListResponseMsg"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="IviewsWorkOrders_SOAPHTTP_Binding" type="IviewsWorkOrders_PT">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="GetworkOrderList">
<soap:operation soapAction="http://www.mesasolutions.com/neia_synchronization/wsdl/GetworkOrderList"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- The location (URL) of the service corresponding to the SOAP/HTTP binding is provided
here. This location will need to be altered to reflect the actual service deployment.-->
<wsdl:service name="IviewsWorkOrders_SVC">
<wsdl:port name="IviewsWorkOrders_Service"
binding="IviewsWorkOrders_SOAPHTTP_Binding">
<soap:address location=
"http://128.96.130.22:8280/iviews6_4D/IviewsWorkOrders_Service"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Please let me know if you have any solution to this.
Uma...
Hi Uma,
Deserialization error means, that your WS consumer cannot convert the structure of type "IviewWorkOrders" back to an java object.
Do you have created the WS consumer with the "WS Client Proxy Definition Wizard" of NWDS? And have you imported the wsdl from target URL?
Nevertheless, in my opinion the definition of element "IviewWorkOrders" is missing in section <wsdl:types> of your wsdl. There, a complex type must be defined with this name.
Hope it helps...
Cheers,
Matthias
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
89 | |
10 | |
9 | |
9 | |
9 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.