Java 如何避免在CXF库(SOAP)中使用CONNECT http方法
我正在使用CXF库编写一个SOAP客户机,这里我的要求是将SOAP请求转移到另一个web服务,该服务充当我的代理Java 如何避免在CXF库(SOAP)中使用CONNECT http方法,java,soap,cxf,soap-client,x-http-method-override,Java,Soap,Cxf,Soap Client,X Http Method Override,我正在使用CXF库编写一个SOAP客户机,这里我的要求是将SOAP请求转移到另一个web服务,该服务充当我的代理 WebService ss = new WebService(); WebServiceSoap port=ss.WebServiceSoap(); Client client = ClientProxy.getClient(port); HTTPConduit http = (HTTPConduit) client.getConduit(); HTTPClientPolic
WebService ss = new WebService();
WebServiceSoap port=ss.WebServiceSoap();
Client client = ClientProxy.getClient(port);
HTTPConduit http = (HTTPConduit) client.getConduit();
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setProxyServer(System.getProperty("http.proxyHost","proxyserver.com"));
httpClientPolicy.setProxyServerPort(Integer.valueOf(System.getProperty("http.proxyPort","8080")).intValue());
httpClientPolicy.setConnectionTimeout(36000);
http.setClient(httpClientPolicy);
byte[] fileContent={'b','b'};
String res=port.submiFile(fileContent");
但是这段代码抛出了下面的错误
“java.io.IOException:无法通过代理进行隧道传输。代理返回
“不允许使用HTTP/1.1 405方法”
根据我的调查,这个错误是因为CXF库使用了“CONNECT”
http方法来隧道SOAP请求,但此连接方法
代理服务器(proxyserver.com)上没有实现。现在是代理服务器
服务器团队说我们只能提供“GET”和“POST”HTTP方法
这意味着我必须手动创建SOAP请求,并使用POST或GET方法发送。但这是我们希望避免手动创建SOAP请求的方式
所以我的问题是,有没有办法摆脱这个问题,或者我可以重写
“连接“方法?任何答案链接都会很有帮助。更多详细信息,请参阅附件 您没有在任何地方添加SOAPAction您没有在任何地方添加SOAPAction抱歉,无法发表评论。我想这不是因为SOAPAction。我需要取消连接方法。您使用的IDE是什么?抱歉,无法评论。我想这不是因为SOAP操作。我需要抑制CONNECT方法,你用的是什么IDE?