Java JAX-WS发布GET然后GET和POST

Java JAX-WS发布GET然后GET和POST,java,web-services,jakarta-ee,jax-ws,Java,Web Services,Jakarta Ee,Jax Ws,我编写了一个JAX-WS客户机,使用从wsimport生成的类来调用Web服务。为了在本地测试我的客户机,我编写了webservice的一个实现,并在本地发布并调用它。一切如期进行 我注意到的一件事是,我的客户机连接到端点并发出一个GET,然后针对寻找wsdl的端点发出另一个带有GET的连接,最后在同一个连接中发出带有我的负载的POST 以下是tcpmon输出(编辑以保护用户): GET/someWS HTTP/1.1 用户代理:Java/1.7.0\u 03 主持人:127.0.0.1:987

我编写了一个JAX-WS客户机,使用从wsimport生成的类来调用Web服务。为了在本地测试我的客户机,我编写了webservice的一个实现,并在本地发布并调用它。一切如期进行

我注意到的一件事是,我的客户机连接到端点并发出一个GET,然后针对寻找wsdl的端点发出另一个带有GET的连接,最后在同一个连接中发出带有我的负载的POST

以下是tcpmon输出(编辑以保护用户):

GET/someWS HTTP/1.1
用户代理:Java/1.7.0\u 03
主持人:127.0.0.1:9877
接受:text/html、image/gif、image/jpeg、*;q=.2,*/*;q=.2
连接:保持活力
----------------------------------
获取/someWS?wsdl HTTP/1.1
用户代理:Java/1.7.0\u 03
主持人:127.0.0.1:9877
接受:text/html、image/gif、image/jpeg、*;q=.2,*/*;q=.2
连接:保持活力
POST/someWS HTTP/1.1
接受:text/xml,多部分/相关
内容类型:text/xml;字符集=utf-8
SOAPAction:“文件/http://someUrl"
用户代理:JAX-WSRI 2.2.4-b01
主持人:127.0.0.1:9877
连接:保持活力
内容长度:610

这是标准行为还是我把事情搞砸了?我正在使用JAX-WSRI2.2。这在本地工作得很好,但是某个生产WS对初始GET请求非常不满意,并抛出了一个500,我希望我可以抑制GET请求并直接跳到文章。

客户端没有在本地缓存wsdl文件,因此在每次文章之前都会看到GET请求。GET用于获取wsdl文件,POST用于实际的web服务请求。要求客户机在本地缓存wsdl并引用它

这是有道理的,可以解释第二个问题。你知道第一个吗?你确实是对的。非常感谢。它同时发出
GET
s以查找wsdl<代码>RuntimeWSDLParser.parse(…)文档说:解析WSDL并给出WSDLModel。如果wsdl参数为null,则使用wsdlLoc获取wsdl。如果无法获取WSDL文档,则尝试com.sun.xml.internal.ws.api.WSDL.parser.MetadataResolverFactory获取WSDL文档,如果未找到,则作为最后一个选项,如果wsdlLoc没有作为查询参数的“?WSDL”,则通过附加“?WSDL”来尝试。
GET /someWS HTTP/1.1
User-Agent: Java/1.7.0_03
Host: 127.0.0.1:9877
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

----------------------------------

GET /someWS?wsdl HTTP/1.1
User-Agent: Java/1.7.0_03
Host: 127.0.0.1:9877
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

POST /someWS HTTP/1.1
Accept: text/xml, multipart/related
Content-Type: text/xml; charset=utf-8
SOAPAction: "document/http://someUrl"
User-Agent: JAX-WS RI 2.2.4-b01
Host: 127.0.0.1:9877
Connection: keep-alive
Content-Length: 610

<Valid Soap message here/>