Jump to content

bangging my head against WSDL / SOAP call


ThE_eNd

Recommended Posts

I'm trying to use a simple wsdl file and make a soap call but for the life of me I can't get it to work.

 

Here's the wsdl file:

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="urn:gnHPD_Staging_Table_Submit_Generic" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:s="urn:gnHPD_Staging_Table_Submit_Generic" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
  <xsd:schema elementFormDefault="qualified" targetNamespace="urn:gnHPD_Staging_Table_Submit_Generic">
   <xsd:element name="Submit" type="s:InputMapping"/>
   <xsd:complexType name="InputMapping">
    <xsd:sequence>
     <xsd:element name="Assigned_To_Group" type="xsd:string"/>
     <xsd:element name="AutoPush" type="s:AutoPushType"/>
     <xsd:element name="Case_Type" type="s:Case_TypeType"/>
     <xsd:element name="Category" type="xsd:string"/>
     <xsd:element name="Description" type="xsd:string"/>
     <xsd:element name="Details" type="xsd:string"/>
     <xsd:element name="Entry_Number" type="xsd:string"/>
     <xsd:element name="Integration_Application" type="xsd:string"/>
     <xsd:element name="Item" type="xsd:string"/>
     <xsd:element name="Priority" type="s:PriorityType"/>
     <xsd:element name="Source" type="s:SourceType"/>
     <xsd:element name="Submitter_UNIX" type="xsd:string"/>
     <xsd:element name="Summary" type="xsd:string"/>
     <xsd:element name="Type" type="xsd:string"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:simpleType name="AutoPushType">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Auto Push"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="Case_TypeType">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Incident"/>
     <xsd:enumeration value="Question"/>
     <xsd:enumeration value="Request"/>
     <xsd:enumeration value="Problem"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="PriorityType">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="4"/>
     <xsd:enumeration value="3"/>
     <xsd:enumeration value="2"/>
     <xsd:enumeration value="1"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name="SourceType">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Phone"/>
     <xsd:enumeration value="Requester"/>
     <xsd:enumeration value="Email"/>
     <xsd:enumeration value="Web"/>
     <xsd:enumeration value="NMP"/>
    </xsd:restriction>
   </xsd:simpleType>
   <xsd:element name="SubmitResponse" type="s:OutputMapping"/>
   <xsd:complexType name="OutputMapping">
    <xsd:sequence>
     <xsd:element name="StagingTable_ID" type="xsd:string"/>
     <xsd:element name="HelpDesk_ID" type="xsd:string"/>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:element name="AuthenticationInfo" type="s:AuthenticationInfo"/>
   <xsd:complexType name="AuthenticationInfo">
    <xsd:sequence>
     <xsd:element name="userName" type="xsd:string"/>
     <xsd:element name="password" type="xsd:string"/>
     <xsd:element minOccurs="0" name="authentication" type="xsd:string"/>
     <xsd:element minOccurs="0" name="locale" type="xsd:string"/>
     <xsd:element minOccurs="0" name="timeZone" type="xsd:string"/>
    </xsd:sequence>
   </xsd:complexType>
  </xsd:schema>
</wsdl:types>
   <wsdl:message name="SubmitSoapOut">
      <wsdl:part element="s:SubmitResponse" name="parameters"/>
   </wsdl:message>
   <wsdl:message name="SubmitSoapIn">
      <wsdl:part element="s:Submit" name="parameters"/>
   </wsdl:message>
   <wsdl:message name="ARAuthenticate">
      <wsdl:part element="s:AuthenticationInfo" name="parameters"/>
   </wsdl:message>
   <wsdl:portType name="gnHPD_Staging_Table_Submit_GenericPortType">
      <wsdl:operation name="Submit">
         <wsdl:input message="s:SubmitSoapIn"/>
         <wsdl:output message="s:SubmitSoapOut"/>
      </wsdl:operation>
   </wsdl:portType>
   <wsdl:binding name="gnHPD_Staging_Table_Submit_GenericSoapBinding" type="s:gnHPD_Staging_Table_Submit_GenericPortType">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
      <wsdl:operation name="Submit">
         <soap:operation soapAction="urn:gnHPD_Staging_Table_Submit_Generic/Submit" style="document"/>
         <wsdl:input>
            <soap:header message="s:ARAuthenticate" part="parameters" use="literal"></soap:header>
            <soap:body use="literal"/>
         </wsdl:input>
         <wsdl:output>
            <soap:body use="literal"/>
         </wsdl:output>
      </wsdl:operation>
   </wsdl:binding>
   <wsdl:service name="gnHPD_Staging_Table_Submit_GenericService">
  <wsdl:documentation>Generic Submit for HD</wsdl:documentation>
      <wsdl:port binding="s:gnHPD_Staging_Table_Submit_GenericSoapBinding" name="gnHPD_Staging_Table_Submit_GenericSoap">
         <soap:address location="http://example.org/midtier/services/ARService?server=example&webService=gnHPD_Staging_Table_Submit_Generic"/>
      </wsdl:port>
   </wsdl:service>
</wsdl:definitions>

 

Here's my php code:

$params = array(
  "Submitter_UNIX"=>'myunix',
  "Source"=>'Web',
  "Summary"=>'Test1',
  "Description"=>'Test1',
  "Category"=>'test services',
  "Type"=>'test solutions',
  "Item"=>'Problem',
  "Assigned_To_Group"=>'test solutions',
  "Case_Type"=>'Problem',
  "Priority"=>'4',
  "AutoPush" => 'Auto Push',
  "Details"=>'Test Details',
  "Entry_Number"=>'',
  "Integration_Application"=>'MyMobile'
);

$client = new SoapClient('http://example.org/midtier/WSDL/example/gnHPD_Staging_Table_Submit_Generic',array('trace' => 1 ));


$result = $client->Submit($params);

 

I get this reply

Fatal error: Uncaught SoapFault exception: [ns1:Server.userException] 
MessageType: 2 MessageNum: 149 MessageText: A user name must be supplied in the control record AppendedText: in D:\Inetpub\wwwroot\myMobile\test\testwsdl2.php:29 
Stack trace: #0 [internal function]: SoapClient->__call('Submit', Array) #1 D:\Inetpub\wwwroot\myMobile\test\testwsdl2.php(29): SoapClient->Submit(Array) #2 {main} thrown in D:\Inetpub\wwwroot\myMobile\test\testwsdl2.php on line 29

 

The only thing I can think of missing here is headers but I have no idea how to configure that.  Any insight is greately appreciated!

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.