Add child elements to custom SOAP header in Spring-WS

后端 未结 4 862
清酒与你
清酒与你 2020-12-30 04:09

I am calling a SOAP webservice with Spring-WS. The webservice in question requires me to pass some information in the SOAP header as shown here:



        
4条回答
  •  悲哀的现实
    2020-12-30 04:48

    final String datPrefix = "dat";
    final String datNamespaceUri = "UPRS/Services/IProviderDataManagement/Datatypes";
    
    final String mesPrefix = "mes";
    final String mesNamespaceUri = "UPRS/Services/IProviderDataManagement/Messages";
    
    SoapEnvelope se = s.getEnvelope();
    se.addNamespaceDeclaration(mesPrefix,
            mesNamespaceUri);
    se.addNamespaceDeclaration(datPrefix,
            datNamespaceUri);
    
    SoapMessage s = (SoapMessage) message;
    
    Element root = new Element("requestContext", mesPrefix, mesNamespaceUri);
    Element child = new Element("commandId", datPrefix, datNamespaceUri).addContent(guid);
    root.addContent(child);
    
    TransformerFactory transformerFactory = TransformerFactory.newInstance();
    Transformer transformer = transformerFactory.newTransformer();
    transformer.transform(new JDOMSource(root), s.getSoapHeader().getResult());
    

    It produced output

    
            
                ba7b1e13-8a06-49b6-a264-fc0298f55f4f
            
        
    

提交回复
热议问题