我正在使用JAXB編組肥皂請求。它正在工作,但生成的XML不包含soap:Envelope
標記。此外,該名稱空間在根元素上而不是在soap:Envelope
標記中指示。 xml標籤上還有一個額外的standalone
屬性。如何使用JAXB的編組器實現類似於第二個XML的輸出?如何在使用JAXB進行封送時包含肥皂信封標籤?
目前,這裏是我的編組XML看起來像:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Customer xmlns:ns="http://www.example.org/beanLevelNamespace">
<ns:id>201200001</ns:id>
<ns:name>Name</ns:name>
<ns:age>18</ns:age>
</Customer>
這裏是我多麼希望它看起來像:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:ns="http://www.example.org/beanLevel1Namespace" xmlns:ns1="http://www.example.org/beanLevel2Namespace">
<ns:Customer>
<ns1:id>201200001</ns:id>
<ns1:name>Name</ns:name>
<ns1:age>18</ns:age>
</ns:Customer>
</soap:Body>
</soap:Envelope>
爲什麼你需要在你的XML信封?另外,如果名稱空間存在於根級或Envelope中,它又有什麼關係? – sreehari 2012-07-11 03:50:18
@sreehari:它需要在信封裏面,因爲我要將它作爲肥皂請求發送。關於名稱空間的位置,我不確定它的位置是否重要。我在這裏的示例請求中的名稱空間位於信封內,因此我只是爲了安全起見而遵循它。 – Arci 2012-07-11 04:04:47
爲什麼你不使用JAX-WS呢? – 2014-01-25 07:08:39