我使用的系统(Salesforce)只能使用document / literal包装的WSDL文件。但是,我的客户需要我连接生成其他格式的WSDL文件的旧系统(例如RPC文字或仅文档文字)。因此,我经常收到“不友好”格式的wsdl文件,并且我有一段时间试图将其制作成Salesforce可接受的格式。基本上,wsdl中没有外部引用,它必须是doc / literal包装。
所以......我认为解决这个问题的一种偷偷摸摸的方法可能是使用Java中的wsdl(jax.ws),然后通过一次调用以编程方式从Java重新创建wsdl。
之前是否已解决此问题?如果没有,那么我是否走在正确的轨道上?以前有人解决过这个wsdl转换问题吗?我认为XSLT可能为一个比我更聪明的人做的工作,但我必须与我发布的大脑一起工作,并且似乎决定学习wsdls的最小可能性以解决这个问题。
TLDR:我可以使用java来使用/创建任意格式的WSDL,这样我就可以用包装的doc / literal格式创建WSDL,没有属性(而不是元素)而且没有导入(完全自包含的WSDL应该是输出)。
如果你能帮我解决这个问题,我会给你买披萨!那就对了。我会给你发一封papaJohn / Dominos / Pizzahut优惠券(如果你想给我你的家庭住址/电话号码,你甚至可以打电话给你当地的披萨店并为你买。)
答案 0 :(得分:1)
我可以建议一种方法,但您可能会或可能不会发现它有用。
Apache CXF包含大量用于基于WSDL构建服务模型的代码,然后另一方面基于模型构建WSDL。您可能会从该代码开始并尝试编写更多代码来映射模型,以便获得所需的wsdl。
我很自信没有任何内置的JAX-WS可以帮助你,但我肯定没有记住它。您还可以在CXF用户邮件列表中找到更深入的相关专业知识库。