首页 > 解决方案 > 使用 Service Stub 调用带有 HTTP 标头 Spring Java 的 SOAP 服务

问题描述

我必须调用一个使用 Spring java 的基本身份验证的 SOAP 服务。我有服务存根,我知道我需要调用的操作。

String finalRequestString="Entire Request string";

MYServiceStub mySVCStub= new MYServiceStub();

MYSVCSubmitInformationDocument objSubmitInformationDoc= 
MYSVCSubmitInformationDocument.Factory.newInstance();
MySVCSubmitInformation objSubmitInfo = objSubmitInformationDoc.addSubmitInformation(); //service specific methods
objSubmitInfo.setXml(finalRequestString); //Request String

ServiceClient client = mySVCStub._getServiceClient();
Options options = mySVCStub._getServiceClient().getOptions();
Map<String, String> requestHeaders = new HashMap<>();
requestHeaders.put("Authorization","Basic encodedUserNamePassword as it appears in SOAP UI request");
options.setProperty(HTTPConstants.HTTP_HEADERS, requestHeaders);

response= mySVCStub.submitInformation(objSubmitInformationDoc);

但是我收到错误 org.apache.axis2.AxisFault: The given SOAPAction http://MYVC.../mySVCsubmitInformation与操作不匹配。

任何帮助,将不胜感激。谢谢

标签: javaspring-boot

解决方案


推荐阅读