2012-05-07 11 views
0

Datejava.util.Date)オブジェクトをksoap2というレスポンスから戻すのに問題が発生しました。java.util.Date(SoapPrimitiveではなく)へのDateTimeの対応付け

:ここ

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
    <s:Header></s:Header> 
    <s:Body> 
     <UpdateLocationResponse xmlns="http://tempuri.org/"> 
     <UpdateLocationResult>2012-05-07T13:34:34.7693883-04:00</UpdateLocationResult> 
     </UpdateLocationResponse> 
    </s:Body> 
    </s:Envelope> 

私は封筒と要求( *は、セキュリティ上の理由から、実際の名前の代わりに使用されている*)を初期化するために使用しているコードです:ここでは、応答XMLがあります

static final String NAMESPACE = "http://tempuri.org/"; 
static final String URL = "http://****************.svc"; 

envelope.addMapping(NAMESPACE, "UpdateLocationResult", Date.class, 
     new MarshalDate()); 
MarshalDate mdate = new MarshalDate(); 
mdate.register(envelope); 
envelope.implicitTypes = true; 

HttpTransportSE trans = new HttpTransportSE(URL); 
trans.debug = true; 

trans.call(SOAP_ACTION, envelope); 
Object r = envelope.getResponse(); // r is always SoapPrimitive!!! 
            // I want it to be a java.util.Date 

名前空間、プロパティ名、マーシャラーのすべての組み合わせを無駄にしようとしました。私はいつもSoapPrimitiveを返しますenvelope.getResponse()

私は間違っていますか?

答えて

0

文字列ではありませんか? SimpleDateFormat

を使って試してみて、これはあなたのために有用である可能性がある:私は `STRING`に` SoapPrimitive`を変換し、もちろん `Date`自分のためにそれを解析することができます

SoapPrimitive response = (SoapPrimitive) envelope.getResponse(); 
String strDate = response.toString(); 
+0

が、私はにライブラリをしたいですマッピングの方法で私のためにやってください... –

関連する問題