[ 
https://issues.apache.org/jira/browse/TUSCANY-1297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12503457
 ] 

Matthew Peters commented on TUSCANY-1297:
-----------------------------------------

Actually I just found that the xsi:type is not the problem. Sorry to mislead 
you. It is the order in which the elements in the binding and operation 
elements come out: . 

I just tried loading some SCA-generated WSDL using XERXES and got some
useful messages:

Error:
URI=file:///C:/Documents%20and%20Settings/Administrator/workspace/XML/Gr
eeting.wsdl Line=48: cvc-complex-type.2.4.a: Invalid content was found
starting with element 'tns3:operation'. One of
'{"http://schemas.xmlsoap.org/wsdl/":fault}' is expected.
Error:
URI=file:///C:/Documents%20and%20Settings/Administrator/workspace/XML/Gr
eeting.wsdl Line=50: cvc-complex-type.2.4.a: Invalid content was found
starting with element 'tns3:binding'. One of
'{"http://schemas.xmlsoap.org/wsdl/":operation}' is expected.

It dawned on me that this is to do with the order of the elements in the
WSDL. Because tOperation and so on inherit from tExtensibleDocumented,
it is allowable for them to have elements from other namespaces e.g.
from the soap namespace as we do, but the order is wrong. We are
generating: 
  <binding name="GreetingBinding" type="tns2:GreetingPortType">
    <operation name="greet">
      <input>
        <tns3:body xsi:type="tns3:tBody" use="literal"/>

      </input>
      <output>
        <tns3:body xsi:type="tns3:tBody" use="literal"/>
      </output>
      <tns3:operation xsi:type="tns3:tOperation" soapAction=""/>
    </operation>
    <tns3:binding xsi:type="tns3:tBinding"
transport="http://schemas.xmlsoap.org/soap/http"; style="document"/>
  </binding>

which fails. The XML passes though if the elements from the soap
namespace come first:
  <binding name="GreetingBinding" type="tns2:GreetingPortType">
    <tns3:binding xsi:type="tns3:tBinding"
transport="http://schemas.xmlsoap.org/soap/http"; style="document"/>
    <operation name="greet">
      <tns3:operation xsi:type="tns3:tOperation" soapAction=""/>
      <input>
        <tns3:body xsi:type="tns3:tBody" use="literal"/>

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

> xsi:type in generated XML causes it not to validate/load into: visual studio 
> or Mindreef SOAPscope
> --------------------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-1297
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1297
>             Project: Tuscany
>          Issue Type: Bug
>          Components: C++ SDO
>    Affects Versions: Cpp-Next
>         Environment: any
>            Reporter: Matthew Peters
>             Fix For: Cpp-Next
>
>
> We use SDO to build and generate WSDL. We use the standard WSDL and SOAP 
> schemas (schemata?) to build the model then add port, operation, binding etc. 
> elements, then serialise the lot to XML. There are occasional xsi:type 
> attributes in the serialised XML which cause the WSDL not to validate or load 
> in visual studio. Here is a snippet from WSDL that we have generated in this 
> way:
> <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>
>       <tns3:operation xsi:type="tns3:tOperation" soapAction=""/>
>     </operation>
> <tns3:binding xsi:type="tns3:tBinding"
> transport="http://schemas.xmlsoap.org/soap/http"; style="document"/>
>   </binding>
> These xsi:type attributes cause this WSDL to fail to load. I quote one of our 
> users:
> > 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.
> and a different bug report but the same problem:
> > WSDL generated does not validate (ran against the oXygen editor and
> Mindreef SOAPscope). 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to