在 WebServiceGatewaySupport 中设置用户代理
Set user agent in WebServiceGatewaySupport
如何在Spring的WebServiceGatewaySupport
中设置用户代理?这是我已经尝试但失败的方法:
@Bean
public DiscreteGateway discreteGateway() throws SOAPException {
Jaxb2Marshaller jaxb2Marshaller = new Jaxb2Marshaller();
jaxb2Marshaller.setContextPath(CONTEXT_PATH);
Map<String, String> propertyMap = new HashMap<>();
propertyMap.put("User-Agent", "Tough-User");
SaajSoapMessageFactory messageFactory = new SaajSoapMessageFactory(MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL));
messageFactory.setMessageProperties(propertyMap);
DiscreteGateway discreteGateway = new DiscreteGateway();
discreteGateway.setMarshaller(jaxb2Marshaller);
discreteGateway.setUnmarshaller(jaxb2Marshaller);
discreteGateway.setMessageFactory(messageFactory);
discreteGateway.setDefaultUri(Discrete_URI);
return discreteGateway;
}
请注意 DiscreteGateway
扩展了 WebServiceGatewaySupport
...
所以发现 here 我所要做的就是在 VM args http.agent=MY_AGENT
中设置并且它起作用了。
如何在Spring的WebServiceGatewaySupport
中设置用户代理?这是我已经尝试但失败的方法:
@Bean
public DiscreteGateway discreteGateway() throws SOAPException {
Jaxb2Marshaller jaxb2Marshaller = new Jaxb2Marshaller();
jaxb2Marshaller.setContextPath(CONTEXT_PATH);
Map<String, String> propertyMap = new HashMap<>();
propertyMap.put("User-Agent", "Tough-User");
SaajSoapMessageFactory messageFactory = new SaajSoapMessageFactory(MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL));
messageFactory.setMessageProperties(propertyMap);
DiscreteGateway discreteGateway = new DiscreteGateway();
discreteGateway.setMarshaller(jaxb2Marshaller);
discreteGateway.setUnmarshaller(jaxb2Marshaller);
discreteGateway.setMessageFactory(messageFactory);
discreteGateway.setDefaultUri(Discrete_URI);
return discreteGateway;
}
请注意 DiscreteGateway
扩展了 WebServiceGatewaySupport
...
所以发现 here 我所要做的就是在 VM args http.agent=MY_AGENT
中设置并且它起作用了。