2015-06-03 105 views
0

使用此XML文件,用於創建SOAP消息:需要UpdatedOrder標籤之間插入添加XML字符串SOAP消息

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <ord:UpdateOrder> 
     <ord:OrderId>26</ord:OrderId> 
     <ord:View>BroadbandDSLOrderCreation</ord:View> 

     <ord:UpdatedOrder> 

     </ord:UpdatedOrder> 

     </ord:UpdateOrder> 
    </soapenv:Body> 
</soapenv:Envelope> 

XML字符串。 SOAP消息的

<_root> 
<DslOrder index="1422888817752"> 
<SubscriberInfo index="1422888817756"> 
<Address index="1422888817758"> 
<City index="1422888817761">OTT</City> 
<PostalCode index="1422888817760">101</PostalCode> 
<Street index="1422888817759">333</Street> 
</Address> 
<PhoneNumber index="1422888817762">438</PhoneNumber> 
<Name index="1422888817757">xyz</Name> 
</SubscriberInfo> 
</DslOrder> 
</_root>  

輸出必須是這樣的:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <ord:UpdateOrder> 
     <ord:OrderId>26</ord:OrderId> 
     <ord:View>BroadbandDSLOrderCreation</ord:View> 
     <ord:UpdatedOrder> 
      <_root> 
    <DslOrder index="1422888817752"> 
    <SubscriberInfo index="1422888817756"> 
    <Address index="1422888817758"> 
    <City index="1422888817761">OTT</City> 
    <PostalCode index="1422888817760">101</PostalCode> 
    <Street index="1422888817759">333</Street> 
    </Address> 
    <PhoneNumber index="1422888817762">438</PhoneNumber> 
    <Name index="1422888817757">xyz</Name> 
    </SubscriberInfo> 
    </DslOrder> 
     </_root> 
     </ord:UpdatedOrder> 
     </ord:UpdateOrder> 
    </soapenv:Body> 
</soapenv:Envelope> 

需要將XML字符串添加到SOAP信封。

如何在輸出中顯示將該XML字符串添加到soap信封中?

我將xml文件轉換爲soap消息。現在我需要將xml字符串添加到soap消息(在相同標記之間)。請幫助我

回答

0

您可能需要研究使用<![CDATA[]]>標記,以便消息不會嘗試解析您的有效內容(恰好是XML)。

例如:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement"> 
<soapenv:Header/> 
<soapenv:Body> 
    <ord:UpdateOrder> 
     <ord:OrderId>26</ord:OrderId> 
     <ord:View>BroadbandDSLOrderCreation</ord:View> 
     <ord:UpdatedOrder> 
      <![CDATA[ 
       <_root> 
<DslOrder index="1422888817752"> 
<SubscriberInfo index="1422888817756"> 
<Address index="1422888817758"> 
<City index="1422888817761">OTT</City> 
<PostalCode index="1422888817760">101</PostalCode> 
<Street index="1422888817759">333</Street> 
</Address> 
<PhoneNumber index="1422888817762">438</PhoneNumber> 
<Name index="1422888817757">xyz</Name> 
</SubscriberInfo> 
</DslOrder> 
      </_root> 
      ]]> 
     </ord:UpdatedOrder> 
    </ord:UpdateOrder> 
</soapenv:Body> 

如果您正在使用Java庫的SOAP調用,如JAX-WS,圖書館將照顧這對你(你只需要按原樣發送XML有效載荷)。