Hello, I'm trying to get a j2me web service up and running but am getting the following error message:
java.rmi.MarshalException: Invalid Element in Response: sellerStatus
at com.sun.j2mews.xml.rpc.SOAPDecoder.decode(SOAPDecoder.java:192)
at com.sun.j2mews.xml.rpc.OperationImpl.invoke(OperationImpl.java:240)
...
I've attached the wsdl axis is exposing, the deploy.wsdd, and sample
request, and a sample response. In the response you can see that
there is a valid string value for the sellerStatus element. I'm not
sure why the wtk generated stub code is failing. Any help would be
greatly appreciated.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <getStockRecordByVsnResponse xmlns="http://mobile.webservices.sys.mycomp.com"> <getStockRecordByVsn> <buyer> <name/> <partyId>0</partyId> <seller>false</seller> </buyer> <color>Green</color> <make>Ford</make> <mileage>60316</mileage> <model>Explorer</model> <runNumber>B020x</runNumber> <saleDate>08/29/2007</saleDate> <seller> <name>Honda Dealer</name> <partyId>1179</partyId> <seller>true</seller> </seller> <sellerStatus>Checked In</sellerStatus> <stockId>3843</stockId> <vin>111111111111111111</vin> <vsn>503247</vsn> <year>2004</year> </getStockRecordByVsn> </getStockRecordByVsnResponse> </soapenv:Body> </soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mob="http://mobile.webservices.sys.mycomp.com"> <soapenv:Header/> <soapenv:Body> <mob:getStockRecordByVsn> <mob:mobileId>1</mob:mobileId> <mob:vsn>503247</mob:vsn> </mob:getStockRecordByVsn> </soapenv:Body> </soapenv:Envelope>
deploy.wsdd
Description: Binary data
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://mobile.webservices.sys.mycomp.com" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://mobile.webservices.sys.mycomp.com" xmlns:intf="http://mobile.webservices.sys.mycomp.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!--WSDL created by Apache Axis version: 1.4 Built on Apr 22, 2006 (06:55:48 PDT)--> <wsdl:types> <schema elementFormDefault="qualified" targetNamespace="http://mobile.webservices.sys.mycomp.com" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="executeRollOver"> <complexType> <sequence> <element name="mobileId" type="xsd:string"/> <element name="vsn" type="xsd:long"/> <element name="newSaleId" type="xsd:long"/> <element name="newRunNumber" type="xsd:string"/> <element name="newLaneNumber" type="xsd:string"/> <element name="newXNumber" type="xsd:string"/> </sequence> </complexType> </element> <element name="executeRollOverResponse"> <complexType> <sequence> <element name="executeRollOverReturn" type="impl:MobileStockRecord"/> </sequence> </complexType> </element> <complexType name="MobileDealership"> <sequence> <element name="isSeller" type="xsd:boolean"/> <element name="name" nillable="true" type="xsd:string"/> <element name="partyId" type="xsd:long"/> <element name="seller" type="xsd:boolean"/> </sequence> </complexType> <complexType name="MobileStockRecord"> <sequence> <element name="buyer" nillable="true" type="impl:MobileDealership"/> <element name="color" nillable="true" type="xsd:string"/> <element name="make" nillable="true" type="xsd:string"/> <element name="mileage" type="xsd:int"/> <element name="model" nillable="true" type="xsd:string"/> <element name="runNumber" nillable="true" type="xsd:string"/> <element name="saleDate" nillable="true" type="xsd:string"/> <element name="seller" nillable="true" type="impl:MobileDealership"/> <element name="sellerStatus" nillable="true" type="xsd:string"/> <element name="stockId" type="xsd:long"/> <element name="vin" nillable="true" type="xsd:string"/> <element name="vsn" type="xsd:long"/> <element name="year" nillable="true" type="xsd:string"/> </sequence> </complexType> <element name="getDynamicOrders"> <complexType> <sequence> <element name="mobileId" type="xsd:string"/> <element name="sellerStatus" type="xsd:string"/> </sequence> </complexType> </element> <element name="getDynamicOrdersResponse"> <complexType> <sequence> <element maxOccurs="unbounded" name="getDynamicOrdersReturn" type="xsd:string"/> </sequence> </complexType> </element> <element name="getRollOverRunNumbersBySale"> <complexType> <sequence> <element name="mobileId" type="xsd:string"/> <element name="saleId" type="xsd:long"/> </sequence> </complexType> </element> <element name="getRollOverRunNumbersBySaleResponse"> <complexType> <sequence> <element maxOccurs="unbounded" name="getRollOverRunNumbersBySaleReturn" type="xsd:string"/> </sequence> </complexType> </element> <element name="getNextXNumber"> <complexType> <sequence> <element name="mobileId" type="xsd:string"/> <element name="saleId" type="xsd:long"/> <element name="laneName" type="xsd:string"/> <element name="runNumber" type="xsd:int"/> </sequence> </complexType> </element> <element name="getNextXNumberResponse"> <complexType> <sequence> <element name="getNextXNumberReturn" type="xsd:string"/> </sequence> </complexType> </element> <element name="getSales"> <complexType> <sequence> <element name="mobileId" type="xsd:string"/> <element name="marketId" type="xsd:long"/> </sequence> </complexType> </element> <element name="getSalesResponse"> <complexType> <sequence> <element maxOccurs="unbounded" name="getSalesReturn" type="impl:MobileSale"/> </sequence> </complexType> </element> <complexType name="MobileSale"> <sequence> <element name="saleDate" nillable="true" type="xsd:string"/> <element name="saleId" type="xsd:long"/> <element name="status" nillable="true" type="xsd:string"/> </sequence> </complexType> <element name="getStockRecordByVin"> <complexType> <sequence> <element name="mobileId" type="xsd:string"/> <element name="vin" type="xsd:string"/> </sequence> </complexType> </element> <element name="getStockRecordByVinResponse"> <complexType> <sequence> <element maxOccurs="unbounded" name="getStockRecordByVinReturn" type="impl:MobileStockRecord"/> </sequence> </complexType> </element> <element name="getStockRecordByVsn"> <complexType> <sequence> <element name="mobileId" type="xsd:string"/> <element name="vsn" type="xsd:string"/> </sequence> </complexType> </element> <element name="getStockRecordByVsnResponse"> <complexType> <sequence> <element name="getStockRecordByVsn" type="impl:MobileStockRecord"/> </sequence> </complexType> </element> </schema> </wsdl:types> <wsdl:message name="getDynamicOrdersResponse"> <wsdl:part element="impl:getDynamicOrdersResponse" name="parameters"/> </wsdl:message> <wsdl:message name="getStockRecordByVinResponse"> <wsdl:part element="impl:getStockRecordByVinResponse" name="parameters"/> </wsdl:message> <wsdl:message name="getNextXNumberRequest"> <wsdl:part element="impl:getNextXNumber" name="parameters"/> </wsdl:message> <wsdl:message name="getRollOverRunNumbersBySaleRequest"> <wsdl:part element="impl:getRollOverRunNumbersBySale" name="parameters"/> </wsdl:message> <wsdl:message name="getNextXNumberResponse"> <wsdl:part element="impl:getNextXNumberResponse" name="parameters"/> </wsdl:message> <wsdl:message name="getStockRecordByVsnResponse"> <wsdl:part element="impl:getStockRecordByVsnResponse" name="parameters"/> </wsdl:message> <wsdl:message name="getSalesResponse"> <wsdl:part element="impl:getSalesResponse" name="parameters"/> </wsdl:message> <wsdl:message name="executeRollOverRequest"> <wsdl:part element="impl:executeRollOver" name="parameters"/> </wsdl:message> <wsdl:message name="getStockRecordByVsnRequest"> <wsdl:part element="impl:getStockRecordByVsn" name="parameters"/> </wsdl:message> <wsdl:message name="executeRollOverResponse"> <wsdl:part element="impl:executeRollOverResponse" name="parameters"/> </wsdl:message> <wsdl:message name="getStockRecordByVinRequest"> <wsdl:part element="impl:getStockRecordByVin" name="parameters"/> </wsdl:message> <wsdl:message name="getRollOverRunNumbersBySaleResponse"> <wsdl:part element="impl:getRollOverRunNumbersBySaleResponse" name="parameters"/> </wsdl:message> <wsdl:message name="getSalesRequest"> <wsdl:part element="impl:getSales" name="parameters"/> </wsdl:message> <wsdl:message name="getDynamicOrdersRequest"> <wsdl:part element="impl:getDynamicOrders" name="parameters"/> </wsdl:message> <wsdl:portType name="MobileWebService"> <wsdl:operation name="executeRollOver"> <wsdl:input message="impl:executeRollOverRequest" name="executeRollOverRequest"/> <wsdl:output message="impl:executeRollOverResponse" name="executeRollOverResponse"/> </wsdl:operation> <wsdl:operation name="getDynamicOrders"> <wsdl:input message="impl:getDynamicOrdersRequest" name="getDynamicOrdersRequest"/> <wsdl:output message="impl:getDynamicOrdersResponse" name="getDynamicOrdersResponse"/> </wsdl:operation> <wsdl:operation name="getRollOverRunNumbersBySale"> <wsdl:input message="impl:getRollOverRunNumbersBySaleRequest" name="getRollOverRunNumbersBySaleRequest"/> <wsdl:output message="impl:getRollOverRunNumbersBySaleResponse" name="getRollOverRunNumbersBySaleResponse"/> </wsdl:operation> <wsdl:operation name="getNextXNumber"> <wsdl:input message="impl:getNextXNumberRequest" name="getNextXNumberRequest"/> <wsdl:output message="impl:getNextXNumberResponse" name="getNextXNumberResponse"/> </wsdl:operation> <wsdl:operation name="getSales"> <wsdl:input message="impl:getSalesRequest" name="getSalesRequest"/> <wsdl:output message="impl:getSalesResponse" name="getSalesResponse"/> </wsdl:operation> <wsdl:operation name="getStockRecordByVin"> <wsdl:input message="impl:getStockRecordByVinRequest" name="getStockRecordByVinRequest"/> <wsdl:output message="impl:getStockRecordByVinResponse" name="getStockRecordByVinResponse"/> </wsdl:operation> <wsdl:operation name="getStockRecordByVsn"> <wsdl:input message="impl:getStockRecordByVsnRequest" name="getStockRecordByVsnRequest"/> <wsdl:output message="impl:getStockRecordByVsnResponse" name="getStockRecordByVsnResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="MyCompMobileWebServiceSoapBinding" type="impl:MobileWebService"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="executeRollOver"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="executeRollOverRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="executeRollOverResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getDynamicOrders"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getDynamicOrdersRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="getDynamicOrdersResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getRollOverRunNumbersBySale"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getRollOverRunNumbersBySaleRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="getRollOverRunNumbersBySaleResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getNextXNumber"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getNextXNumberRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="getNextXNumberResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getSales"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getSalesRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="getSalesResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getStockRecordByVin"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getStockRecordByVinRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="getStockRecordByVinResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getStockRecordByVsn"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getStockRecordByVsnRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="getStockRecordByVsnResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="MobileWebServiceService"> <wsdl:port binding="impl:MyCompMobileWebServiceSoapBinding" name="MyCompMobileWebService"> <wsdlsoap:address location="http://myserver:8080/MyCompMobileWebService/services/MyCompMobileWebService"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
