java - WSDL 到 Java 工件
问题描述
我在从 WSDL url 生成 java 工件时遇到了麻烦。我已经尝试过这个帖子 链接来发布并最终在我的 pom 文件中使用了这个配置
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
</execution>
</executions>
<configuration>
<wsdlUrls>
<wsdlUrl>https://tim-erp.com/ERPX_WEB/awws/ErpX.awws?wsdl</wsdlUrl>
</wsdlUrls>
<packageName>com.output</packageName>
<sourceDestDir>
${project.build.directory}/generated-sources/
</sourceDestDir>
</configuration>
</plugin>
但现在我收到此错误 [ERROR] Invalid wsdl:operation "kasaLogin": its a document-literal operation, message part must refer to a schema element declaration。
几天前,我曾使用此链接生成初始工件,但我删除了代码,现在我不记得它是如何工作的了。现在我正在寻找任何可行的解决方案。 导入到 SOAP UI 时 Wsdl 工作正常。我正在使用 java 11 和 Intellij Idea。
提前致谢。
解决方案
使用soap ui查看消息的外观,然后创建与您所看到的完全一样的soap消息,这对我来说很好用。这是创建肥皂消息的演示的一部分
MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage soapMessage = messageFactory.createMessage();
SOAPPart soapPart = soapMessage.getSOAPPart();
SOAPEnvelope envelope = soapPart.getEnvelope();
……
创建肥皂消息后,您只需发送一个包含您组装的 http 或 https 请求。
推荐阅读
- embedded - Cortex M3 从应用程序跳转回引导加载程序并返回到应用程序
- java - Slenium-Java:Wait.until(ExpectedConditions.invisibilityOfElementLocated()) 对于负面情况总是失败
- regex - 正则表达式(PCRE)从匹配结果中排除某些单词
- c - 结构中的指针指向另一个结构
- git - 如何将预提交挂钩推送到所有现有存储库
- python - 如何根据张量流中的条件设置每个单独的矩阵值
- typescript - Typescript 类型保护:使用 in 运算符
- python - 哪个更贵?变异对象或创建新对象?
- c# - 单元测试,大型设置/夹具
- bash - 文件文本替换