次のような SOAP リクエストを受け取ります。
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<notifications xmlns="xxxxx">
<sometags></sometags>
<Notification>
<Id>yyyyy</Id>
<sObject xsi:type="sf:Dog" xmlns:sf="urn:some.enterprise.object.soap.com">
<sf:Id>zzzzz</sf:Id>
</sObject>
</Notification>
</notifications>
</soapenv:Body>
</soapenv:Envelope>
そして、通知がどのような種類のオブジェクトであるかを知りたい (== sObject の type 属性を読み取りたいので、sObject のタイプがidタグに関連していることがわかります)。
私は似たようなことができるようにしたい:
if (sObject.type.equals("Dog")) //何かをする
if (sObject.type.equals("Cat")) //何か他のことをする
しかし、soap リクエストでその属性値を取得するにはどうすればよいですか?
cxf ライブラリで Java を使用しています。
ありがとうございました、
クラウツ