php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #57666 Visual Studio Consumption of SCA Generated WSDL
Submitted: 2007-05-11 07:24 UTC Modified: 2007-06-29 08:59 UTC
From: michael dot caplan at henryschein dot com Assigned: tuscany 1297 (profile)
Status: Closed Package: SCA_SDO (PECL)
PHP Version: 5.2.1 OS: CentOS 4
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: michael dot caplan at henryschein dot com
New email:
PHP Version: OS:

 

 [2007-05-11 07:24 UTC] michael dot caplan at henryschein dot com
Description:
------------
MS Visual Studio (I'm using Visual Web Dev 2005 Express Edition) will not import a SCA generated WSDL.  It complains that it does not validate because of the following element attributes:

xsi:type="tns3:tBody"  of <tns3:body>
xsi:type="tns3:tAddress" of <tns3:address>

Stripping out these attributes resolved the VS WSDL import problem.

It would be great if the type attribute for these elements could be suppressed when generated.

Expected result:
----------------
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns2="http://Labnet_API_LabnetOnline_001_Implementation" xmlns:tns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns3="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://Labnet_API_LabnetOnline_001_Implementation">
  <types>
<!-- Stripped -->
  </types>

  <message name="getRestorationsRequest">
    <part name="getRestorationsRequest" element="tns2:getRestorations"/>
  </message>
  <message name="getRestorationsResponse">
    <part name="return" element="tns2:getRestorationsResponse"/>
  </message>
  <message name="getEnclosuresRequest">

    <part name="getEnclosuresRequest" element="tns2:getEnclosures"/>
  </message>
  <message name="getEnclosuresResponse">
    <part name="return" element="tns2:getEnclosuresResponse"/>
  </message>
  <message name="getAlloysRequest">
    <part name="getAlloysRequest" element="tns2:getAlloys"/>
  </message>
  <message name="getAlloysResponse">

    <part name="return" element="tns2:getAlloysResponse"/>
  </message>
  <message name="getPracticeDoctorsRequest">
    <part name="getPracticeDoctorsRequest" element="tns2:getPracticeDoctors"/>
  </message>
  <message name="getPracticeDoctorsResponse">
    <part name="return" element="tns2:getPracticeDoctorsResponse"/>
  </message>
  <message name="getAvailableCallsRequest">

    <part name="getAvailableCallsRequest" element="tns2:getAvailableCalls"/>
  </message>
  <message name="getAvailableCallsResponse">
    <part name="return" element="tns2:getAvailableCallsResponse"/>
  </message>
  <message name="newCaseRequest">
    <part name="newCaseRequest" element="tns2:newCase"/>
  </message>
  <message name="newCaseResponse">

    <part name="return" element="tns2:newCaseResponse"/>
  </message>
  <portType name="Labnet_API_LabnetOnline_001_ImplementationPortType">
    <operation name="getRestorations">
      <input message="tns2:getRestorationsRequest"/>
      <output message="tns2:getRestorationsResponse"/>
    </operation>
    <operation name="getEnclosures">
      <input message="tns2:getEnclosuresRequest"/>

      <output message="tns2:getEnclosuresResponse"/>
    </operation>
    <operation name="getAlloys">
      <input message="tns2:getAlloysRequest"/>
      <output message="tns2:getAlloysResponse"/>
    </operation>
    <operation name="getPracticeDoctors">
      <input message="tns2:getPracticeDoctorsRequest"/>
      <output message="tns2:getPracticeDoctorsResponse"/>

    </operation>
    <operation name="getAvailableCalls">
      <input message="tns2:getAvailableCallsRequest"/>
      <output message="tns2:getAvailableCallsResponse"/>
    </operation>
    <operation name="newCase">
      <input message="tns2:newCaseRequest"/>
      <output message="tns2:newCaseResponse"/>
    </operation>

  </portType>
  <binding name="Labnet_API_LabnetOnline_001_ImplementationBinding" type="tns2:Labnet_API_LabnetOnline_001_ImplementationPortType">
    <operation name="getRestorations">
      <input>
        <tns3:body use="literal"/>
      </input>
      <output>
        <tns3:body use="literal"/>
      </output>

    </operation>
    <operation name="getEnclosures">
      <input>
        <tns3:body use="literal"/>
      </input>
      <output>
        <tns3:body use="literal"/>
      </output>
    </operation>

    <operation name="getAlloys">
      <input>
        <tns3:body use="literal"/>
      </input>
      <output>
        <tns3:body use="literal"/>
      </output>
    </operation>
    <operation name="getPracticeDoctors">

      <input>
        <tns3:body use="literal"/>
      </input>
      <output>
        <tns3:body use="literal"/>
      </output>
    </operation>
    <operation name="getAvailableCalls">
      <input>

        <tns3:body use="literal"/>
      </input>
      <output>
        <tns3:body use="literal"/>
      </output>
    </operation>
    <operation name="newCase">
      <input>
        <tns3:body use="literal"/>

      </input>
      <output>
        <tns3:body use="literal"/>
      </output>
    </operation>
  </binding>
  <service name="Labnet_API_LabnetOnline_001_ImplementationService">
    <port name="Labnet_API_LabnetOnline_001_ImplementationPort" binding="tns2:Labnet_API_LabnetOnline_001_ImplementationBinding">
      <tns3:address location="http://sandbox.int.labnet.net/michael/labnet_online/api/public_html/online001/index.php"/>
    </port>
  </service>
</definitions>

<!-- this line identifies this file as WSDL generated by SCA for PHP. Do not remove -->

Actual result:
--------------
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns2="http://Labnet_API_LabnetOnline_001_Implementation" xmlns:tns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns3="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://Labnet_API_LabnetOnline_001_Implementation">
  <types>
<!-- Stripped -->
  </types>

  <message name="getRestorationsRequest">
    <part name="getRestorationsRequest" element="tns2:getRestorations"/>
  </message>
  <message name="getRestorationsResponse">
    <part name="return" element="tns2:getRestorationsResponse"/>
  </message>
  <message name="getEnclosuresRequest">

    <part name="getEnclosuresRequest" element="tns2:getEnclosures"/>
  </message>
  <message name="getEnclosuresResponse">
    <part name="return" element="tns2:getEnclosuresResponse"/>
  </message>
  <message name="getAlloysRequest">
    <part name="getAlloysRequest" element="tns2:getAlloys"/>
  </message>
  <message name="getAlloysResponse">

    <part name="return" element="tns2:getAlloysResponse"/>
  </message>
  <message name="getPracticeDoctorsRequest">
    <part name="getPracticeDoctorsRequest" element="tns2:getPracticeDoctors"/>
  </message>
  <message name="getPracticeDoctorsResponse">
    <part name="return" element="tns2:getPracticeDoctorsResponse"/>
  </message>
  <message name="getAvailableCallsRequest">

    <part name="getAvailableCallsRequest" element="tns2:getAvailableCalls"/>
  </message>
  <message name="getAvailableCallsResponse">
    <part name="return" element="tns2:getAvailableCallsResponse"/>
  </message>
  <message name="newCaseRequest">
    <part name="newCaseRequest" element="tns2:newCase"/>
  </message>
  <message name="newCaseResponse">

    <part name="return" element="tns2:newCaseResponse"/>
  </message>
  <portType name="Labnet_API_LabnetOnline_001_ImplementationPortType">
    <operation name="getRestorations">
      <input message="tns2:getRestorationsRequest"/>
      <output message="tns2:getRestorationsResponse"/>
    </operation>
    <operation name="getEnclosures">
      <input message="tns2:getEnclosuresRequest"/>

      <output message="tns2:getEnclosuresResponse"/>
    </operation>
    <operation name="getAlloys">
      <input message="tns2:getAlloysRequest"/>
      <output message="tns2:getAlloysResponse"/>
    </operation>
    <operation name="getPracticeDoctors">
      <input message="tns2:getPracticeDoctorsRequest"/>
      <output message="tns2:getPracticeDoctorsResponse"/>

    </operation>
    <operation name="getAvailableCalls">
      <input message="tns2:getAvailableCallsRequest"/>
      <output message="tns2:getAvailableCallsResponse"/>
    </operation>
    <operation name="newCase">
      <input message="tns2:newCaseRequest"/>
      <output message="tns2:newCaseResponse"/>
    </operation>

  </portType>
  <binding name="Labnet_API_LabnetOnline_001_ImplementationBinding" type="tns2:Labnet_API_LabnetOnline_001_ImplementationPortType">
    <operation name="getRestorations">
      <input>
        <tns3:body xsi:type="tns3:tBody" use="literal"/>
      </input>
      <output>
        <tns3:body xsi:type="tns3:tBody" use="literal"/>
      </output>

    </operation>
    <operation name="getEnclosures">
      <input>
        <tns3:body xsi:type="tns3:tBody" use="literal"/>
      </input>
      <output>
        <tns3:body xsi:type="tns3:tBody" use="literal"/>
      </output>
    </operation>

    <operation name="getAlloys">
      <input>
        <tns3:body xsi:type="tns3:tBody" use="literal"/>
      </input>
      <output>
        <tns3:body xsi:type="tns3:tBody" use="literal"/>
      </output>
    </operation>
    <operation name="getPracticeDoctors">

      <input>
        <tns3:body xsi:type="tns3:tBody" use="literal"/>
      </input>
      <output>
        <tns3:body xsi:type="tns3:tBody" use="literal"/>
      </output>
    </operation>
    <operation name="getAvailableCalls">
      <input>

        <tns3:body xsi:type="tns3:tBody" use="literal"/>
      </input>
      <output>
        <tns3:body xsi:type="tns3:tBody" use="literal"/>
      </output>
    </operation>
    <operation name="newCase">
      <input>
        <tns3:body xsi:type="tns3:tBody" use="literal"/>

      </input>
      <output>
        <tns3:body xsi:type="tns3:tBody" use="literal"/>
      </output>
    </operation>
  </binding>
  <service name="Labnet_API_LabnetOnline_001_ImplementationService">
    <port name="Labnet_API_LabnetOnline_001_ImplementationPort" binding="tns2:Labnet_API_LabnetOnline_001_ImplementationBinding">
      <tns3:address xsi:type="tns3:tAddress" location="http://sandbox.int.labnet.net/michael/labnet_online/api/public_html/online001/index.php"/>

    </port>
  </service>
</definitions>

<!-- this line identifies this file as WSDL generated by SCA for PHP. Do not remove -->

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-05-11 07:28 UTC] michael dot caplan at henryschein dot com
For reference, check out this discussion thread:

http://groups.google.com/group/phpsoa/browse_thread/thread/7c43a5d025c54aea/5c09bc6828875ab6
 [2007-05-23 11:56 UTC] mfp@php.net
Actually I have just realised that this probably answers my question about the other defect where the wsdl will not validate - it will be the xsi:type attributes.
 [2007-06-12 07:52 UTC] mfp@php.net
We currently have JIRA 1297 as the target defect for both this defect and 11004
 [2007-06-29 08:59 UTC] mfp@php.net
I believe we have suppressed all the xsi:types and this is fixed in 1.2.2, so I am closing. Please feel free to reopen if you find the problem is still there.
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Tue May 13 10:01:27 2025 UTC