在引用XSD的端点上创建wso2 esb代理服务
我在端点上创建了一个直通代理服务,并在发布wsdl选项中选择了指定源URL。端点引用wsdl定义中的xsd。代理web服务生成罚款,但当尝试从客户端(SOAP UI)加载此web服务时,由于代理服务wsdl URL中引用xsd的方式,它会抛出一个错误 具有xsd定义的实际web服务示例在引用XSD的端点上创建wso2 esb代理服务,wso2,wso2esb,Wso2,Wso2esb,我在端点上创建了一个直通代理服务,并在发布wsdl选项中选择了指定源URL。端点引用wsdl定义中的xsd。代理web服务生成罚款,但当尝试从客户端(SOAP UI)加载此web服务时,由于代理服务wsdl URL中引用xsd的方式,它会抛出一个错误 具有xsd定义的实际web服务示例 <types> <xsd:schema> <xsd:import namespace="http://service.example.com/" schema
<types>
<xsd:schema>
<xsd:import namespace="http://service.example.com/" schemaLocation="http://172.16.91.82:7001/DemoService/DemoService?xsd=1"/>
</xsd:schema>
</types>
引用架构的代理服务示例
<wsdl:types>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="unqualified">
<xsd:import namespace="http://service.example.com/" schemaLocation="SecuredServiceProxy?xsd=http://172.16.91.82:7001/DemoService/DemoService?xsd=1"/>
</xsd:schema>
</wsdl:types>
客户端在加载架构位置时出现问题(当然看起来无效)
1) 我在想办法摆脱这个
2) 此代理服务旨在对最终用户隐藏实际服务。xsd模式在代理服务wsdl定义中列出的方式将实际端点信息泄漏给最终用户。有没有办法避免在代理服务的生成wsdl定义中显示xsd url
谢谢 如果需要对最终用户隐藏实际的服务细节,可以避免在WSO2 ESB中发布WSDL 然后将调用ESB中定义的代理服务 我希望这有帮助
谢谢 那么您的意思是说您的端点是URL,而您的发布wsdl也是URL?您可以尝试将发布wsdl指定为内联,并且可以在ESB_Home中创建一个.xsd文件,该文件应该包含xsd URL的内容。然后,您可以通过将位置从url更改为内联wsdl中ESB_主目录中的xsd文件名来引用.xsd文件,如下所示:
<wsdl:types>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="unqualified">
<xsd:import namespace="http://service.example.com/" schemaLocation="DemoService.xsd"/>
</xsd:schema>
</wsdl:types>
希望这对您有用这是手动操作的结果。通过替换对XSD的引用,我手动复制了wsdl文件,它成功了。这不是我真正想做的,但它满足了我的要求。