如何使用拦截器添加 Mule header?
How to add Mule header using Interceptor?
嗨,我有肥皂请求
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:TrackRequest xmlns:ns4="namespace4" xmlns:ns3="namespace3" xmlns:ns2="namespace2" xmlns="namespace1">
<Request>
<RequestOption>BB</RequestOption>
</Request>
<ns2:InquiryNumber>AA</ns2:InquiryNumber>
</ns2:TrackRequest>
</soap:Body>
我要这样
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<ns3:MYSecurity xmlns:ns3="namespace3">
<ns3:UsernameToken>
<ns3:Username>5</ns3:Username>
<ns3:Password>N</ns3:Password>
</ns3:UsernameToken>
<ns3:ServiceAccessToken>
<ns3:AccessLicenseNumber>AC</ns3:AccessLicenseNumber>
</ns3:ServiceAccessToken>
</ns3:MYSecurity>
</soap:Header>
<soap:Body>
<soap:Body>
<ns2:TrackRequest xmlns:ns4="namespac4" xmlns:ns3="namespace3" xmlns:ns2="namespace2" xmlns="namespace1">
<Request>
<RequestOption>BB</RequestOption>
</Request>
<ns2:InquiryNumber>AA</ns2:InquiryNumber>
</ns2:TrackRequest>
</soap:Body>
如何使用 mule SOAP CXF 组件来实现?我们可以使用
public class SecurityHeaderInterceptor extends AbstractSoapInterceptor {
//java代码
}
class 文件使用 Java 来完成这个任务?如果可以那是怎么回事?它需要在添加 header.
后输入
您可以扩展 org.apache.cxf.phase.AbstractPhaseInterceptor 然后修改 SOAPMessage header。
检查此 link 以获取写入 SOAPMessage header 的示例实现:https://www.classle.net/#!/classle/content-page/intercepting-soap-message/
我们可以使用 org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor 并覆盖 handleMessage(SoapMessage message)
嗨,我有肥皂请求
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:TrackRequest xmlns:ns4="namespace4" xmlns:ns3="namespace3" xmlns:ns2="namespace2" xmlns="namespace1">
<Request>
<RequestOption>BB</RequestOption>
</Request>
<ns2:InquiryNumber>AA</ns2:InquiryNumber>
</ns2:TrackRequest>
</soap:Body>
我要这样
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<ns3:MYSecurity xmlns:ns3="namespace3">
<ns3:UsernameToken>
<ns3:Username>5</ns3:Username>
<ns3:Password>N</ns3:Password>
</ns3:UsernameToken>
<ns3:ServiceAccessToken>
<ns3:AccessLicenseNumber>AC</ns3:AccessLicenseNumber>
</ns3:ServiceAccessToken>
</ns3:MYSecurity>
</soap:Header>
<soap:Body>
<soap:Body>
<ns2:TrackRequest xmlns:ns4="namespac4" xmlns:ns3="namespace3" xmlns:ns2="namespace2" xmlns="namespace1">
<Request>
<RequestOption>BB</RequestOption>
</Request>
<ns2:InquiryNumber>AA</ns2:InquiryNumber>
</ns2:TrackRequest>
</soap:Body>
如何使用 mule SOAP CXF 组件来实现?我们可以使用
public class SecurityHeaderInterceptor extends AbstractSoapInterceptor {
//java代码 }
class 文件使用 Java 来完成这个任务?如果可以那是怎么回事?它需要在添加 header.
后输入您可以扩展 org.apache.cxf.phase.AbstractPhaseInterceptor 然后修改 SOAPMessage header。
检查此 link 以获取写入 SOAPMessage header 的示例实现:https://www.classle.net/#!/classle/content-page/intercepting-soap-message/
我们可以使用 org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor 并覆盖 handleMessage(SoapMessage message)