嗨,我有一段时间有问题我无法解决。当我使用spring run boot命令在STS spring上运行我的应用程序时,一切正常。但是如果我尝试在tomcat上部署应用程序,除了在SOAP消息中添加一个拒绝调用soap服务的命名空间之外,一切都有效。
我在spring boot上插入了正确的soap消息,并在tomcat上显示错误消息。
SPING BOOT SUCCESS SOAP MSG:
<RetrieveDocumentSetRequest
xmlns="urn:ihe:iti:xds-b:2007"
xmlns:ns2="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
xmlns:ns3="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
xmlns:ns4="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0"
xmlns:ns5="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0">
<DocumentRequest>
<RepositoryUniqueId>2.16.840.1.113883.2.9.2.999.4.5.113883</RepositoryUniqueId>
<DocumentUniqueId>2.16.840.1.113883.2.9.2.999.4.4^123456</DocumentUniqueId></DocumentRequest>
</RetrieveDocumentSetRequest>
TOMCAT 7 FAIL SOAP MSG:
<ns6:RetrieveDocumentSetRequest
xmlns:ns2="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
xmlns:ns3="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
xmlns:ns4="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0"
xmlns:ns5="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0"
xmlns:ns6="urn:ihe:iti:xds-b:2007">
<DocumentRequest><RepositoryUniqueId>2.16.840.1.113883.2.9.2.999.4.5.113883</RepositoryUniqueId>
<DocumentUniqueId>2.16.840.1.113883.2.9.2.999.4.4^123456</DocumentUniqueId>
</DocumentRequest>
</ns6:RetrieveDocumentSetRequest>
正如您所看到的,除了n6名称空间之外,消息几乎相同。我无法理解为什么以及如果tomcat对Springboot服务器有错误的Jar。
答案 0 :(得分:0)
我已经解决了我的问题。 在spring引导的pom.xml中指定的生成器类,使用JAXB从接口WSDL生成类,而使用和释放tomcat的Jar,使用jax-ws库从WSDL开始的几代类。 第一个库JAXB在类属性和生成的类的内部类中插入关于命名空间的注释。使用jax-ws时不会发生这一切,但仅适用于某些类。这件事即使乍一看也无关紧要,创建一个被验证者服务器端拒绝的答案,发送SOAP请求。
我希望将来可以帮助某人。