2009-05-29 68 views
1

所以我有一個WSDL定義像下面軸web服務類型爲「XSD:base64Binary的」

<wsdl:message name="processEnvelopeResponse"> 
    <wsdl:part name="processEnvelopeReturn" type="xsd:base64Binary"/> 
</wsdl:message> 

此映射到XSD一個消息部分,然後至極進口其他的XSD等。

我有以下問題:

  1. 怎樣才能從XSD

消息部分對象忽略這一個,我已經找到了 答案,你可以這樣做只要你 將xsd導入到wsdl文件中。 將解釋更好稍後

  • 如何可以產生在一個方式,允許我直接填寫所述消息的對象,並通過它在電線的客戶端對象
  • 我如何調用web服務,將生成的對象轉換爲base64Binary(這個假設上述是不可能的)
  • 回答

    1

    因此,回答我自己的問題,我能夠生成工件,從列表中調用Web服務的xsd's,但我無法在調用webservice時使用它們。

    所以,我最終不得不手動生成XML,幸運的是我,這是一個小的電話。

    String input="XML"; 
    byte[] s = port.processEnvelope(input.getBytes()); 
    

    而且,由於反應過來的XSD:base64Binary的太多,我不得不傳入字符串轉換成XML對象映射,以處理響應。

    String xmloutput = new String(s,"UTF-8"); 
    

    然後我把xmloutput通過jdom我得到了我的數據。

    總之一個愚蠢的方式來實現一個web服務。