title: Namespace issues in SoapClient
body: <p>I am having trouble getting a SOAP request out. I'm using generated client code that in turn uses SoapClient in WSDL mode. I can make the initial session start call, but when I make another call, the namespaces appear to be out of whack.</p>
  
  <p>Here is the SOAP request from SoapUI that works:</p>
  
  <pre><code>&lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://vendor_uri/"&gt;
     &lt;soapenv:Header/&gt;
     &lt;soapenv:Body&gt;
        &lt;wsdl:GetProducts&gt;
           &lt;GetProductsRequest&gt;
              &lt;UserInfo Token="XXXXX"/&gt;
              &lt;ClientReferenceData Service="pinless_dialing"/&gt;
           &lt;/GetProductsRequest&gt;
        &lt;/wsdl:GetProducts&gt;
     &lt;/soapenv:Body&gt;
  &lt;/soapenv:Envelope&gt;
  </code></pre>
  
  <p>And here's the XML request generated by SoapClient (via Wireshark):</p>
  
  <pre><code>&lt;SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="" xmlns:ns2="http://vendor_uri/"&gt;
      &lt;SOAP-ENV:Body&gt;
          &lt;ns2:GetProducts&gt;
              &lt;GetProductsRequest&gt;
                  &lt;ns1:UserInfo Token="XXXXX"/&gt;
                  &lt;ns1:ClientReferenceData Service="pinless_dialing"/&gt;
              &lt;/GetProductsRequest&gt;
          &lt;/ns2:GetProducts&gt;
      &lt;/SOAP-ENV:Body&gt;
  &lt;/SOAP-ENV:Envelope&gt;
  </code></pre>
  
  <p>The problem appears to be in the ns1 namespace. If I take that same request, and strip out that namespace, the call goes through SoapUI without a hitch.</p>
  
  <p>Again, this is being generated by SoapClient pretty much directly. Here's the relevant code from the generated code:</p>
  
  <pre><code>class B2BServiceSoapClient{
      /**
       * The WSDL URI
       *
       * @var string
       */
      public static $_WsdlUri='http://vendor_wsdl_uri';
      /**
       * The PHP SoapClient object
       *
       * @var object
       */
      public static $_Server=null;
  
      /**
       * Send a SOAP request to the server
       *
       * @param string $method The method name
       * @param array $param The parameters
       * @return mixed The server response
       */
      public static function _Call($method,$param){
          if(is_null(self::$_Server))
              self::$_Server=new SoapClient(self::$_WsdlUri);
          return self::$_Server-&gt;__soapCall($method,$param);
      }
  </code></pre>
  
  <p>The rest of the class consists of type definitions to mirror the WSDL. </p>
  
  <p>Here is the code I use to exercise the class:</p>
  
  <pre><code>&lt;pre&gt;
  &lt;?php
  ini_set('soap.wsdl_cache_enabled',0);
  
  require_once('BossILDClient.php');
  
  $client = new B2BServiceSoapClient();
  $sessionToken = new UserInfoType();
  $parameters = new SessionStart();
  $parameters-&gt;UserInfo = new UserInfoType();
  $parameters-&gt;UserInfo-&gt;UserName = 'username';
  $parameters-&gt;UserInfo-&gt;Password = 'password';
  
  echo "Calling SessionStart(" . print_r($parameters, true) . ")" . PHP_EOL . PHP_EOL;
  
  $result = $client-&gt;SessionStart($parameters);
  $sessionToken-&gt;Token = $result-&gt;SessionStartResponse-&gt;Result-&gt;Token; 
  
  echo "REQUEST HEADER:\n" . htmlentities(B2BServiceSoapClient::$_Server-&gt;__getLastRequestHeaders()) . "\n";
  echo "REQUEST:\n" . htmlentities(B2BServiceSoapClient::$_Server-&gt;__getLastRequest()) . "\n";
  echo "RESPONSE HEADER:\n" . htmlentities(B2BServiceSoapClient::$_Server-&gt;__getLastResponseHeaders()) . "\n";
  echo "RESPONSE:\n" . htmlentities(B2BServiceSoapClient::$_Server-&gt;__getLastResponse()) . "\n";
  
  $getProducts = new GetProducts();
  $getProducts-&gt;GetProductsRequest = new GetProductsRequestType();
  $getProducts-&gt;GetProductsRequest-&gt;ClientReferenceData = new ClientReferenceDataType();
  $getProducts-&gt;GetProductsRequest-&gt;ClientReferenceData-&gt;Service = 'pinless_dialing';
  $getProducts-&gt;GetProductsRequest-&gt;UserInfo = $sessionToken;
  
  echo "Calling GetProducts(" . print_r($getProducts, true) . ")" . PHP_EOL . PHP_EOL;
  
  try {
      $result = $client-&gt;GetProducts($getProducts);
  } catch(SoapFault $sf) {
      echo "SOAP Fault error!!!" . PHP_EOL . PHP_EOL;
  }
  
  echo "REQUEST HEADER:\n" . htmlentities(B2BServiceSoapClient::$_Server-&gt;__getLastRequestHeaders()) . "\n";
  echo "REQUEST:\n" . htmlentities(B2BServiceSoapClient::$_Server-&gt;__getLastRequest()) . "\n";
  echo "RESPONSE HEADER:\n" . htmlentities(B2BServiceSoapClient::$_Server-&gt;__getLastResponseHeaders()) . "\n";
  echo "RESPONSE:\n" . htmlentities(B2BServiceSoapClient::$_Server-&gt;__getLastResponse()) . "\n";
  ?&gt;
  &lt;/pre&gt;
  </code></pre>
  
  <p>I have exhausted my wild guesses and considered thoughts to no avail. How can I prevent that "inner" namespace?</p>
  
  <p>Here's the direct output from the code above:</p>
  
  <pre><code>Calling SessionStart(SessionStart Object
  (
      [UserInfo] =&gt; UserInfoType Object
          (
              [UserName] =&gt; username
              [Password] =&gt; password
              [Token] =&gt; 
          )
  
  )
  )
  
  REQUEST HEADER:
  POST /b2bapi/b2bservice.asmx HTTP/1.1
  Host: 169.132.165.178
  Connection: Keep-Alive
  User-Agent: PHP-SOAP/5.4.4
  Content-Type: text/xml; charset=utf-8
  SOAPAction: "http://wsdl.idt.b2bapi.net/SessionStart"
  Content-Length: 300
  
  
  REQUEST:
  &lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://wsdl.idt.b2bapi.net/"&gt;
    &lt;SOAP-ENV:Body&gt;
      &lt;ns1:SessionStart&gt;
        &lt;UserInfo UserName="username" Password="password"/&gt;
      &lt;/ns1:SessionStart&gt;
    &lt;/SOAP-ENV:Body&gt;
  &lt;/SOAP-ENV:Envelope&gt;
  
  RESPONSE HEADER:
  HTTP/1.1 200 OK
  Cache-Control: private, max-age=0
  Content-Length: 494
  Content-Type: text/xml; charset=utf-8
  Server: Microsoft-IIS/7.0
  X-AspNet-Version: 4.0.30319
  Set-Cookie: PSFSecKeyPart=XXXXXX; expires=Thu, 09-Aug-2012 19:56:39 GMT; path=/
  X-Powered-By: ASP.NET
  Date: Thu, 09 Aug 2012 19:36:39 GMT
  
  RESPONSE:
  &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
    &lt;soap:Body&gt;
      &lt;SessionStartResponse xmlns="http://wsdl.idt.b2bapi.net/"&gt;
        &lt;SessionStartResponse xmlns=""&gt;
          &lt;ResponseReferenceData Success="Y"&gt;
            &lt;MessageList /&gt;
          &lt;/ResponseReferenceData&gt;
          &lt;Result Token="XXXXXX" /&gt;
        &lt;/SessionStartResponse&gt;
      &lt;/SessionStartResponse&gt;
    &lt;/soap:Body&gt;
  &lt;/soap:Envelope&gt;
  
  Calling GetProducts(GetProducts Object
  (
      [GetProductsRequest] =&gt; GetProductsRequestType Object
          (
              [UserInfo] =&gt; UserInfoType Object
                  (
                      [UserName] =&gt; 
                      [Password] =&gt; 
                      [Token] =&gt; XXXXXX
                  )
  
              [ClientReferenceData] =&gt; ClientReferenceDataType Object
                  (
                      [ClientTransactionID] =&gt; 
                      [Service] =&gt; pinless_dialing
                      [IP] =&gt; 
                      [TimeStamp] =&gt; 
                  )
  
              [Parameters] =&gt; 
          )
  
  )
  )
  
  SOAP Fault error!!!
  
  REQUEST HEADER:
  POST /b2bapi/b2bservice.asmx HTTP/1.1
  Host: 169.132.165.178
  Connection: Keep-Alive
  User-Agent: PHP-SOAP/5.4.4
  Content-Type: text/xml; charset=utf-8
  SOAPAction: "http://wsdl.idt.b2bapi.net/GetProducts"
  Content-Length: 394
  Cookie: PSFSecKeyPart=XXXXXX;
  
  
  REQUEST:
  &lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="" xmlns:ns2="http://wsdl.idt.b2bapi.net/"&gt;
    &lt;SOAP-ENV:Body&gt;
      &lt;ns2:GetProducts&gt;
        &lt;GetProductsRequest&gt;
          &lt;ns1:UserInfo Token="XXXXXX"/&gt;
          &lt;ns1:ClientReferenceData Service="pinless_dialing"/&gt;
        &lt;/GetProductsRequest&gt;
      &lt;/ns2:GetProducts&gt;
    &lt;/SOAP-ENV:Body&gt;
  &lt;/SOAP-ENV:Envelope&gt;
  
  RESPONSE HEADER:
  HTTP/1.1 400 Bad Request
  Cache-Control: private
  Transfer-Encoding: chunked
  Content-Type: text/html
  Server: Microsoft-IIS/7.0
  X-AspNet-Version: 4.0.30319
  X-Powered-By: ASP.NET
  Date: Thu, 09 Aug 2012 19:36:39 GMT
  
  RESPONSE:
  </code></pre>
  
  <p>Here's the whittled-down WSDL:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;wsdl:definitions targetNamespace="http://wsdl.idt.b2bapi.net/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://wsdl.idt.b2bapi.net/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"&gt;
     &lt;wsdl:documentation&gt;IDT B2BService&lt;/wsdl:documentation&gt;
     &lt;wsdl:types&gt;
        &lt;s:schema elementFormDefault="qualified" targetNamespace="http://wsdl.idt.b2bapi.net/"&gt;
           &lt;s:import/&gt;
           &lt;s:element name="GetProducts"&gt;
              &lt;s:complexType&gt;
                 &lt;s:sequence&gt;
                    &lt;s:element minOccurs="0" maxOccurs="1" ref="GetProductsRequest"/&gt;
                 &lt;/s:sequence&gt;
              &lt;/s:complexType&gt;
           &lt;/s:element&gt;
           &lt;s:element name="GetProductsResponse"&gt;
              &lt;s:complexType&gt;
                 &lt;s:sequence&gt;
                    &lt;s:element minOccurs="0" maxOccurs="1" ref="GetProductsResponse"/&gt;
                 &lt;/s:sequence&gt;
              &lt;/s:complexType&gt;
           &lt;/s:element&gt;
           &lt;s:element name="SessionStart"&gt;
              &lt;s:complexType&gt;
                 &lt;s:sequence&gt;
                    &lt;s:element minOccurs="0" maxOccurs="1" ref="UserInfo"/&gt;
                 &lt;/s:sequence&gt;
              &lt;/s:complexType&gt;
           &lt;/s:element&gt;
           &lt;s:element name="SessionStartResponse"&gt;
              &lt;s:complexType&gt;
                 &lt;s:sequence&gt;
                    &lt;s:element minOccurs="0" maxOccurs="1" ref="SessionStartResponse"/&gt;
                 &lt;/s:sequence&gt;
              &lt;/s:complexType&gt;
           &lt;/s:element&gt;
        &lt;/s:schema&gt;
        &lt;s:schema elementFormDefault="qualified"&gt;
           &lt;s:complexType name="UserInfoType"&gt;
              &lt;s:attribute name="UserName" type="s:string"/&gt;
              &lt;s:attribute name="Password" type="s:string"/&gt;
              &lt;s:attribute name="Token" type="s:string"/&gt;
           &lt;/s:complexType&gt;
           &lt;s:complexType name="ClientReferenceDataType"&gt;
              &lt;s:attribute name="ClientTransactionID" type="s:string"/&gt;
              &lt;s:attribute name="Service" type="enumService" use="required"/&gt;
              &lt;s:attribute name="IP" type="s:string"/&gt;
              &lt;s:attribute name="TimeStamp" type="s:dateTime" use="required"/&gt;
           &lt;/s:complexType&gt;
           &lt;s:simpleType name="enumService"&gt;
              &lt;s:restriction base="s:string"&gt;
                 &lt;s:enumeration value="pinless_dialing"/&gt;
                 &lt;s:enumeration value="imtu"/&gt;
                 &lt;s:enumeration value="remittance"/&gt;
                 &lt;s:enumeration value="virtual_visa"/&gt;
              &lt;/s:restriction&gt;
           &lt;/s:simpleType&gt;
           &lt;s:complexType name="ResponseReferenceDataType"&gt;
              &lt;s:sequence&gt;
                 &lt;s:element minOccurs="0" maxOccurs="1" name="MessageList" type="ArrayOfMessageType"/&gt;
              &lt;/s:sequence&gt;
              &lt;s:attribute name="Success" type="s:string"/&gt;
              &lt;s:attribute name="TransactionID" type="s:string"/&gt;
              &lt;s:attribute name="ClientTransactionID" type="s:string"/&gt;
           &lt;/s:complexType&gt;
           &lt;s:complexType name="ArrayOfMessageType"&gt;
              &lt;s:sequence&gt;
                 &lt;s:element minOccurs="0" maxOccurs="unbounded" name="Message" type="MessageType"/&gt;
              &lt;/s:sequence&gt;
           &lt;/s:complexType&gt;
           &lt;s:complexType name="MessageType"&gt;
              &lt;s:attribute name="PlatformCode" type="s:string"/&gt;
              &lt;s:attribute name="Service" type="s:string"/&gt;
              &lt;s:attribute name="Command" type="s:string"/&gt;
              &lt;s:attribute name="StatusCode" type="s:string"/&gt;
              &lt;s:attribute name="StatusText" type="s:string"/&gt;
           &lt;/s:complexType&gt;
           &lt;s:element name="GetProductsRequest" type="GetProductsRequestType"/&gt;
           &lt;s:complexType name="GetProductsRequestType"&gt;
              &lt;s:sequence&gt;
                 &lt;s:element minOccurs="0" maxOccurs="1" name="UserInfo" type="UserInfoType"/&gt;
                 &lt;s:element minOccurs="0" maxOccurs="1" name="ClientReferenceData" type="ClientReferenceDataType"/&gt;
                 &lt;s:element minOccurs="0" maxOccurs="1" name="Parameters" type="GetProductsParametersType"/&gt;
              &lt;/s:sequence&gt;
           &lt;/s:complexType&gt;
           &lt;s:complexType name="GetProductsParametersType"&gt;
              &lt;s:attribute name="DataType" type="s:string"/&gt;
           &lt;/s:complexType&gt;
           &lt;s:element name="GetProductsResponse" type="GetProductsResponseType"/&gt;
           &lt;s:complexType name="GetProductsResponseType"&gt;
              &lt;s:sequence&gt;
                 &lt;s:element minOccurs="0" maxOccurs="1" name="ResponseReferenceData" type="ResponseReferenceDataType"/&gt;
                 &lt;s:element minOccurs="0" maxOccurs="1" name="ProductList" type="ArrayOfProductListTypeProduct"/&gt;
              &lt;/s:sequence&gt;
           &lt;/s:complexType&gt;
           &lt;s:complexType name="ArrayOfProductListTypeProduct"&gt;
              &lt;s:sequence&gt;
                 &lt;s:element minOccurs="0" maxOccurs="unbounded" name="Product"&gt;
                    &lt;s:complexType&gt;
                       &lt;s:sequence&gt;
                          &lt;s:element minOccurs="0" maxOccurs="1" name="ProductCountryList" type="ArrayOfProductCountryTypeProductCountry"/&gt;
                       &lt;/s:sequence&gt;
                       &lt;s:attribute name="Code" type="s:string"/&gt;
                       &lt;s:attribute name="Name" type="s:string"/&gt;
                       &lt;s:attribute name="DisplayName" type="s:string"/&gt;
                       &lt;s:attribute default="0" name="Denomination" type="s:integer"/&gt;
                       &lt;s:attribute name="Default" type="s:string"/&gt;
                    &lt;/s:complexType&gt;
                 &lt;/s:element&gt;
              &lt;/s:sequence&gt;
           &lt;/s:complexType&gt;
           &lt;s:complexType name="ArrayOfProductCountryTypeProductCountry"&gt;
              &lt;s:sequence&gt;
                 &lt;s:element minOccurs="0" maxOccurs="unbounded" name="ProductCountry"&gt;
                    &lt;s:complexType&gt;
                       &lt;s:sequence&gt;
                          &lt;s:element minOccurs="0" maxOccurs="1" name="CarrierList" type="ArrayOfCarrierTypeCarrier"/&gt;
                       &lt;/s:sequence&gt;
                       &lt;s:attribute name="CountryCode" type="s:string"/&gt;
                       &lt;s:attribute name="CountryName" type="s:string"/&gt;
                    &lt;/s:complexType&gt;
                 &lt;/s:element&gt;
              &lt;/s:sequence&gt;
           &lt;/s:complexType&gt;
           &lt;s:complexType name="ArrayOfCarrierTypeCarrier"&gt;
              &lt;s:sequence&gt;
                 &lt;s:element minOccurs="0" maxOccurs="unbounded" name="Carrier"&gt;
                    &lt;s:complexType&gt;
                       &lt;s:attribute name="CarrierCode" type="s:string"/&gt;
                       &lt;s:attribute name="CarrierName" type="s:string"/&gt;
                    &lt;/s:complexType&gt;
                 &lt;/s:element&gt;
              &lt;/s:sequence&gt;
           &lt;/s:complexType&gt;
           &lt;s:element name="UserInfo" type="UserInfoType"/&gt;
           &lt;s:element name="SessionStartResponse" type="SessionStartResponseType"/&gt;
           &lt;s:complexType name="SessionStartResponseType"&gt;
              &lt;s:sequence&gt;
                 &lt;s:element minOccurs="0" maxOccurs="1" name="ResponseReferenceData" type="ResponseReferenceDataType"/&gt;
                 &lt;s:element minOccurs="0" maxOccurs="1" name="Result" type="SessionStartResultType"/&gt;
              &lt;/s:sequence&gt;
           &lt;/s:complexType&gt;
           &lt;s:complexType name="SessionStartResultType"&gt;
              &lt;s:attribute name="Token" type="s:string"/&gt;
           &lt;/s:complexType&gt;
           &lt;s:element name="ResponseReferenceData" type="ResponseReferenceDataType"/&gt;
        &lt;/s:schema&gt;
     &lt;/wsdl:types&gt;
     &lt;wsdl:message name="GetProductsSoapIn"&gt;
        &lt;wsdl:part name="parameters" element="tns:GetProducts"/&gt;
     &lt;/wsdl:message&gt;
     &lt;wsdl:message name="GetProductsSoapOut"&gt;
        &lt;wsdl:part name="parameters" element="tns:GetProductsResponse"/&gt;
     &lt;/wsdl:message&gt;
     &lt;wsdl:message name="SessionStartSoapIn"&gt;
        &lt;wsdl:part name="parameters" element="tns:SessionStart"/&gt;
     &lt;/wsdl:message&gt;
     &lt;wsdl:message name="SessionStartSoapOut"&gt;
        &lt;wsdl:part name="parameters" element="tns:SessionStartResponse"/&gt;
     &lt;/wsdl:message&gt;
     &lt;wsdl:portType name="B2BServiceSoap"&gt;
        &lt;wsdl:operation name="GetProducts"&gt;
           &lt;wsdl:input message="tns:GetProductsSoapIn"/&gt;
           &lt;wsdl:output message="tns:GetProductsSoapOut"/&gt;
        &lt;/wsdl:operation&gt;
        &lt;wsdl:operation name="SessionStart"&gt;
           &lt;wsdl:input message="tns:SessionStartSoapIn"/&gt;
           &lt;wsdl:output message="tns:SessionStartSoapOut"/&gt;
        &lt;/wsdl:operation&gt;
     &lt;/wsdl:portType&gt;
     &lt;wsdl:binding name="B2BServiceSoap" type="tns:B2BServiceSoap"&gt;
        &lt;soap:binding transport="http://schemas.xmlsoap.org/soap/http"/&gt;
        &lt;wsdl:operation name="GetProducts"&gt;
           &lt;soap:operation soapAction="http://wsdl.idt.b2bapi.net/GetProducts" style="document"/&gt;
           &lt;wsdl:input&gt;
              &lt;soap:body use="literal"/&gt;
           &lt;/wsdl:input&gt;
           &lt;wsdl:output&gt;
              &lt;soap:body use="literal"/&gt;
           &lt;/wsdl:output&gt;
        &lt;/wsdl:operation&gt;
        &lt;wsdl:operation name="SessionStart"&gt;
           &lt;soap:operation soapAction="http://wsdl.idt.b2bapi.net/SessionStart" style="document"/&gt;
           &lt;wsdl:input&gt;
              &lt;soap:body use="literal"/&gt;
           &lt;/wsdl:input&gt;
           &lt;wsdl:output&gt;
              &lt;soap:body use="literal"/&gt;
           &lt;/wsdl:output&gt;
        &lt;/wsdl:operation&gt;
     &lt;/wsdl:binding&gt;
     &lt;wsdl:binding name="B2BServiceSoap12" type="tns:B2BServiceSoap"&gt;
        &lt;soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/&gt;
        &lt;wsdl:operation name="GetProducts"&gt;
           &lt;soap12:operation soapAction="http://wsdl.idt.b2bapi.net/GetProducts" style="document"/&gt;
           &lt;wsdl:input&gt;
              &lt;soap12:body use="literal"/&gt;
           &lt;/wsdl:input&gt;
           &lt;wsdl:output&gt;
              &lt;soap12:body use="literal"/&gt;
           &lt;/wsdl:output&gt;
        &lt;/wsdl:operation&gt;
        &lt;wsdl:operation name="SessionStart"&gt;
           &lt;soap12:operation soapAction="http://wsdl.idt.b2bapi.net/SessionStart" style="document"/&gt;
           &lt;wsdl:input&gt;
              &lt;soap12:body use="literal"/&gt;
           &lt;/wsdl:input&gt;
           &lt;wsdl:output&gt;
              &lt;soap12:body use="literal"/&gt;
           &lt;/wsdl:output&gt;
        &lt;/wsdl:operation&gt;
     &lt;/wsdl:binding&gt;
     &lt;wsdl:service name="B2BService"&gt;
        &lt;wsdl:documentation&gt;IDT B2BService&lt;/wsdl:documentation&gt;
        &lt;wsdl:port name="B2BServiceSoap" binding="tns:B2BServiceSoap"&gt;
           &lt;soap:address location="http://169.132.165.178/b2bapi/b2bservice.asmx"/&gt;
        &lt;/wsdl:port&gt;
        &lt;wsdl:port name="B2BServiceSoap12" binding="tns:B2BServiceSoap12"&gt;
           &lt;soap12:address location="http://169.132.165.178/b2bapi/b2bservice.asmx"/&gt;
        &lt;/wsdl:port&gt;
     &lt;/wsdl:service&gt;
  &lt;/wsdl:definitions&gt;
  </code></pre>