我们有一个名为 Camstar 的托管应用程序。它提供围绕 WCF 构建的 SOAP Web 服务。
我有一个有效的有效载荷。我可以使用下面的有效负载从 SoapUI 调用 Web 服务。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soapenv:Header>
<WSShopFloorHeader xmlns="http://www.camstar.com/WebService/WSShopFloor">
<UserName>abc</UserName>
<Password>def</Password>
</WSShopFloorHeader>
</soapenv:Header>
<soapenv:Body>
<Submit xmlns="http://www.camstar.com/WebService/WSShopFloor">
<serviceData xmlns:ns0="http://www.camstar.com/WebService/DataTypes" ns0:type="LotStart">
<Factory>
<__CDOTypeName/>
<__name>X30</__name>
</Factory>
<Comments/>
<Workflow>
<__name>TESTSTOREWF</__name>
<__rev/>
<__useROR>true</__useROR>
</Workflow>
<WorkflowStep>
<__CDOTypeName/>
<__name>DBINTSINVSPEC</__name>
</WorkflowStep>
<Qty>1000</Qty>
<Qty2>10</Qty2>
<Product>
<__CDOTypeName/>
<__name>9672-02-9450-D00.BW</__name>
<__rev/>
<__useROR>true</__useROR>
</Product>
<StartReason>
<__CDOTypeName/>
<__name>NORMAL</__name>
</StartReason>
<Owner>
<__CDOTypeName/>
<__name>PROD</__name>
</Owner>
<Level>
<__CDOTypeName/>
<__name>LOT</__name>
</Level>
<ContainerName>TEST004</ContainerName>
</serviceData>
</Submit>
</soapenv:Body>
</soapenv:Envelope>
我无法弄清楚如何基于上述 XML 创建 XSD。唯一的命名空间在 Submit 和 serviceData 元素中,它们是内联的。
另外,如果我需要从一个源生成名称 xml 到另一个源,如何创建 XSLT?