0
SOAPHandler를 사용하여 SOAP 헤더를 처리하려고합니다. 즉, SOAPHandler를 만들었지 만 지정된 서비스에 연결하는 방법은 무엇입니까? 즉,이 처리기가이 서비스에 대한 메시지를 처리해야한다고 말할 수 있습니다. 아마도 일부 주석 또는 XML 구성을 사용해야 할 것입니다 ...?SOAPHandler (JAX-WS)를 연결하는 방법은 무엇입니까?
SOAPHandler를 사용하여 SOAP 헤더를 처리하려고합니다. 즉, SOAPHandler를 만들었지 만 지정된 서비스에 연결하는 방법은 무엇입니까? 즉,이 처리기가이 서비스에 대한 메시지를 처리해야한다고 말할 수 있습니다. 아마도 일부 주석 또는 XML 구성을 사용해야 할 것입니다 ...?SOAPHandler (JAX-WS)를 연결하는 방법은 무엇입니까?
다음 단계를 수행 할 수 있습니다. 핸들러
public class CalculatorSOAPHandlerOne implements SOAPHandler<SOAPMessageContext> {
private static final Logger logger = LoggerFactory.getLogger(CalculatorSOAPHandlerOne.class);
@Override
public Set<QName> getHeaders() {
return null;
}
@Override
public boolean handleMessage(SOAPMessageContext context) {
if(!(Boolean)context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY)){
logger.info(" soap message passed through CalculatorSOAPHandlerOne (only for request)");
}
return true;
}
@Override
public boolean handleFault(SOAPMessageContext context) {
return true;
}
@Override
public void close(MessageContext context) {
}
}
2. 핸들러를 추가 (핸들러-chain.xml)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<javaee:handler-chains
xmlns:javaee="http://java.sun.com/xml/ns/javaee"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<javaee:handler-chain>
<javaee:handler>
<javaee:handler-class>com.chathurangaonline.jaxws.samples.handler.CalculatorSOAPHandlerOne</javaee:handler-class>
</javaee:handler>
<javaee:handler>
</javaee:handler-chain>
</javaee:handler-chains>
3. XML 에서 핸들러 체인 선언을 선언 정의
1 JAX-WS 서비스 구현을위한 체인
@WebService
@HandlerChain(file = "handler-chain.xml")
public class CalculatorService{
private static final Logger logger = LoggerFactory.getLogger(CalculatorServiceImpl.class);
@Override
public double add(double num1, double num2) {
logger.info("== calling add method ==");
return num1 + num2;
}
@Override
public double multiply(double num1, double num2) {
return num1 * num2;
}
}
해결책을 찾았습니다. 클라이언트 측에서는 BinderProvider를 사용하여 추가함으로써 프로그래밍 방식으로 추가 할 수 있습니다. 서비스의 경우 @HandlerChain 주석 및 handlers.xml 구성을 사용해야합니다. – BlackBerry
또한 여기에서 답변을 시도해보십시오 : http://stackoverflow.com/questions/10654608/add-soap-header-object-using-pure -jax-ws/10674705 – Yura