Francisco Tapia
fhtapia at gmail.com
Thu Jul 28 16:47:34 CDT 2005
I have a webservice which I will need to call fom a vbscript (in the end it
will be a sp_OA type call, but for this purpose it's a vbscript... I'm
looking at the wsdl file and I choose the "CreateOrder" method but I keep
getting invalid parameter settings for it... (WSDL file sample included), my
current example soap call looks like this:
---Soap----
Set SOAPClient = CreateObject("MSSOAP.SOAPClient30")
SOAPClient.mssoapinit ("
http://Sampleweb2:8085/AWDev/webservice/webserviceorder.asmx?wsdl")
sxml = "<NewOrder> <Header> <CustID>FO100</CustID>
<CompanyName>HFO-TEST</CompanyName> <UserType /> <UserNo>9002658</UserNo>
<Address1>Div Of Test</Address1> <Address2>7858 Thorndike Rd</Address2>
<Address3 /> <City>GreensBoro</City> <State>NC</State> <Zip>27409</Zip>
<Country>United States</Country> <Contact>Test</Contact>
<Phone>8055551234</Phone> <Notes>test</Notes> <ShipMethod>100</ShipMethod>
<PurchaseOrder>TEST9999</PurchaseOrder> <ShipToID /> <SchedDate /> <Freight
/> </Header> <OrderItems> <WSOrderItem> <PartNumber>14-7068</PartNumber>
<Quantity>15</Quantity> <SerialNumber>21222</SerialNumber> </WSOrderItem>
</OrderItems> </NewOrder>"
Result = SOAPClient.CreateOrder(sxml)
---endSoap----
I keep getting this error: Server was unable to process request --->Object
reference not set to an instance of an object, any ideas???
-----------wsdl-----------------
-
<wsdl:definitions targetNamespace="
http://SampleService.org//WebServiceOrder">
-
<wsdl:types>
-
<s:schema elementFormDefault="qualified" targetNamespace="
http://SampleService.org//WebServiceOrder">
-
<s:element name="CreateOrder">
-
<s:complexType>
-
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="NewOrder" type="tns:WSOrder"/>
</s:sequence>
</s:complexType>
</s:element>
-
<s:complexType name="WSOrder">
-
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Header"
type="tns:WSOrderHeader"/>
<s:element minOccurs="0" maxOccurs="1" name="OrderItems"
type="tns:ArrayOfWSOrderItem"/>
</s:sequence>
</s:complexType>
-
<s:complexType name="WSOrderHeader">
-
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="CustID" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="CompanyName" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="UserType" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="UserNo" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Address1" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Address2" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Address3" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="City" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="State" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Zip" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Contact" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Phone" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Notes" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="ShipMethod" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="PurchaseOrder"
type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="ShipToID" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="SchedDate" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Freight" type="s:string"/>
</s:sequence>
</s:complexType>
-
<s:complexType name="ArrayOfWSOrderItem">
-
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="WSOrderItem"
nillable="true" type="tns:WSOrderItem"/>
</s:sequence>
</s:complexType>
-
<s:complexType name="WSOrderItem">
-
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="PartNumber" type="s:string"/>
<s:element minOccurs="1" maxOccurs="1" name="Quantity" type="s:int"/>
<s:element minOccurs="0" maxOccurs="1" name="SerialNumber" type="s:string"/>
</s:sequence>
</s:complexType>
-
<s:element name="CreateOrderResponse">
-
<s:complexType>
-
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="CreateOrderResult"
type="tns:CreateOrderResponse"/>
</s:sequence>
</s:complexType>
</s:element>
-
<s:complexType name="CreateOrderResponse">
-
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="SalesOrder" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="ProcessingError"
type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="CommunicationError"
type="s:string"/>
</s:sequence>
</s:complexType>
</s:schema>
</wsdl:types>
-
<wsdl:message name="CreateOrderSoapIn">
<wsdl:part name="parameters" element="tns:CreateOrder"/>
</wsdl:message>
-
<wsdl:message name="CreateOrderSoapOut">
<wsdl:part name="parameters" element="tns:CreateOrderResponse"/>
</wsdl:message>
-
<wsdl:portType name="WebServiceOrderSoap">
-
<wsdl:operation name="CreateOrder">
<wsdl:input message="tns:CreateOrderSoapIn"/>
<wsdl:output message="tns:CreateOrderSoapOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:portType name="WebServiceOrderHttpGet"/>
<wsdl:portType name="WebServiceOrderHttpPost"/>
-
<wsdl:binding name="WebServiceOrderSoap" type="tns:WebServiceOrderSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document"/>
-
<wsdl:operation name="CreateOrder">
<soap:operation soapAction="
http://SampleService.org//WebServiceOrder/CreateOrder" style="document"/>
-
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
-
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
-
<wsdl:binding name="WebServiceOrderHttpGet"
type="tns:WebServiceOrderHttpGet">
<http:binding verb="GET"/>
</wsdl:binding>
-
<wsdl:binding name="WebServiceOrderHttpPost"
type="tns:WebServiceOrderHttpPost">
<http:binding verb="POST"/>
</wsdl:binding>
-
<wsdl:service name="WebServiceOrder">
<documentation/>
-
<wsdl:port name="WebServiceOrderSoap" binding="tns:WebServiceOrderSoap">
<soap:address location="
http://Sampleweb2:8085/Sample/webservice/webserviceorder.asmx"/>
</wsdl:port>
-
<wsdl:port name="WebServiceOrderHttpGet"
binding="tns:WebServiceOrderHttpGet">
<http:address location="
http://Sampleweb2:8085/Sample/webservice/webserviceorder.asmx"/>
</wsdl:port>
-
<wsdl:port name="WebServiceOrderHttpPost"
binding="tns:WebServiceOrderHttpPost">
<http:address location="
http://Sampleweb2:8085/Sample/webservice/webserviceorder.asmx"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
----------end wsdl-----------
--
-Francisco
http://pcthis.blogspot.com |PC news with out the jargon!
http://sqlthis.blogspot.com | Tsql and More...