2014-04-28 71 views
3

我有一個RPC /編碼 Web服務提供商揭示附件在base64格式。 一切都做工精細,這是輸出RPC /文字與RPC/Java編碼的Web服務消費者

<multiRef id="id16" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns4:Documento" xmlns:ns4="urn:interpro_Documento.rfc205.regione.toscana.it" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> 
    <descr xsi:type="xsd:string">smime.p7s</descr> 
    <ext xsi:type="xsd:string">p7s</ext> 
    <document xsi:type="soapenc:base64">UEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaVNWTlBMVGc0TlRrdE1TSS9QZ284SVVSUFExUlpVRVVnVTJWbgpibUYwZFhKaElGTlpVMVJGVFNBaVUyVm5ibUYwZFhKaExtUjBaQ0krQ2p4VFpXZHVZWFIxY21FK0NnazhTVzUwWlhOMFlYcHBiMjVsClBnb0pDVHhKWkdWdWRHbG1hV05oZEc5eVpUNEtDUWtKUEVOdlpHbGpaVUZ0YldsdWFYTjBjbUY2YVc5dVpUNURRMVF6UEM5RGIyUnAKWTJWQmJXMXBibWx6ZEhKaGVtbHZibVUrQ2drSkNUeERiMlJwWTJWQlQwOCtRVTlQTGtORFZETThMME52WkdsalpVRlBUejRLQ1FrSgpQRTUxYldWeWIxSmxaMmx6ZEhKaGVtbHZibVUrTURBd01ERXpPRHd2VG5WdFpYSnZVbVZuYVhOMGNtRjZhVzl1WlQ0S0NRa0pQRVJoCmRHRlNaV2RwYzNSeVlYcHBiMjVsUGpJd01UUXRNRE10TWpZOEwwUmhkR0ZTWldkcGMzUnlZWHBwYjI1bFBnb0pDVHd2U1dSbGJuUnAKWm1sallYUnZjbVUrQ2drSlBFOXlZVkpsWjJsemRISmhlbWx2Ym1VK0Nna0pDVEUyT2pRd09qTTBDZ2tKUEM5UGNtRlNaV2RwYzNSeQpZWHBwYjI1bFBnb0pDVHhQY21sbmFXNWxQZ29KQ1FrOFNXNWthWEpwZW5wdlZHVnNaVzFoZEdsamJ5QjBhWEJ2UFNKemJYUndJajRLCkNRa0pDV3RwWW1WeWJtVjBaWE5mYzNkQWJHVm5ZV3h0WVdsc0xtbDBDZ2tKQ1R3dlNXNWthWEpwZW5wdlZHVnNaVzFoZEdsamJ6NEsKQ1FrSlBFMXBkSFJsYm5SbFBnb0pDUWtKUEVGdGJXbHVhWE4wY21GNmFXOXVaVDRLQ1FrSkNRazhSR1Z1YjIxcGJtRjZhVzl1WlQ0SwpDUWtKQ1FrSlEybDBkTU9nSUdScElDRWl3cU1rSmk4b0tUMDlQOE9ud3JEQ3B5ckRxVjQvQ2drSkNRa0pQQzlFWlc1dmJXbHVZWHBwCmIyNWxQZ29KQ1FrSkNUeERiMlJwWTJWQmJXMXBibWx6ZEhKaGVtbHZibVUrQ2drSkNRa0pDVU5EVkRNS0NRa0pDUWs4TDBOdlpHbGoKWlVGdGJXbHVhWE4wY21GNmFXOXVaVDRLQ1FrSkNRazhWVzVwZEdGUGNtZGhibWw2ZW1GMGFYWmhQZ29KQ1FrSkNRazhSR1Z1YjIxcApibUY2YVc5dVpUNEtDUWtKQ1FrSkNUQXdJQzBnVkhKaGMzQnZjblJwWEVsdWRHVnlibWtLQ1FrSkNRa0pQQzlFWlc1dmJXbHVZWHBwCmIyNWxQZ29KQ1FrSkNRazhVR1Z5YzI5dVlUNEtDUWtKQ1FrSkNUeE9iMjFsUGdvSkNRa0pDUWtKQ1UxaGNtTnZDZ2tKQ1FrSkNRazgKTDA1dmJXVStDZ2tKQ1FrSkNRazhRMjluYm05dFpUNEtDUWtKQ1FrSkNRbENiM1p2Q2drSkNRa0pDUWs4TDBOdloyNXZiV1UrQ2drSgpDUWtKQ1R3dlVHVnljMjl1WVQ0S0NRa0pDUWtKUEVsdVpHbHlhWHA2YjFCdmMzUmhiR1UrQ2drSkNRa0pDUWs4Vkc5d2IyNXBiVzhnClpIVm5QU0FpSWo0S0NRa0pDUWtKQ1FsV2FXRWdRMkZ6Wld4c2FRb0pDUWtKQ1FrSlBDOVViM0J2Ym1sdGJ6NEtDUWtKQ1FrSkNUeEQKYVhacFkyOCtDZ2tKQ1FrSkNRa0pUbkl1SURFeEx6RUtDUWtKQ1FrSkNUd3ZRMmwyYVdOdlBnb0pDUWtKQ1FrSlBFTkJVRDRLQ1FrSgpDUWtKQ1FrME5ERXlNd29KQ1FrSkNRa0pQQzlEUVZBK0Nna0pDUWtKQ1FrOFEyOXRkVzVsUGdvSkNRa0pDUWtKQ1VabGNuSmhjbUVLCkNRa0pDUWtKQ1R3dlEyOXRkVzVsUGdvSkNRa0pDUWtKUEZCeWIzWnBibU5wWVQ0S0NRa0pDUWtKQ1FsR1JRb0pDUWtKQ1FrSlBDOVEKY205MmFXNWphV0UrQ2drSkNRa0pDVHd2U1c1a2FYSnBlbnB2VUc5emRHRnNaVDRLQ1FrSkNRa0pQRWx1WkdseWFYcDZiMVJsYkdWdApZWFJwWTI4K0Nna0pDUWtKQ1FsMFpYTjBYM0psWjJsdmJtVjBiM05qWVc1aE1UVkFjR1ZqTG1sMENna0pDUWtKQ1R3dlNXNWthWEpwCmVucHZWR1ZzWlcxaGRHbGpiejRLQ1FrSkNRa0pQRlJsYkdWbWIyNXZQZ29KQ1FrSkNRazhMMVJsYkdWbWIyNXZQZ29KQ1FrSkNRazgKUm1GNFBnb0pDUWtKQ1FrOEwwWmhlRDRLQ1FrSkNRazhMMVZ1YVhSaFQzSm5ZVzVwZW5waGRHbDJZVDRLQ1FrSkNUd3ZRVzF0YVc1cApjM1J5WVhwcGIyNWxQZ29KQ1FrSlBFRlBUejRLQ1FrSkNRazhSR1Z1YjIxcGJtRjZhVzl1WlQ0S0NRa0pDUWtKUTJsMGRNT2dJR1JwCklDRWl3cU1rSmk4b0tUMDlQOE9ud3JEQ3B5ckRxVjQvQ2drSkNRa0pQQzlFWlc1dmJXbHVZWHBwYjI1bFBnb0pDUWtKQ1R4RGIyUnAKWTJWQlQwOCtDZ2tKQ1FrSkNVRlBUeTVEUTFRekNna0pDUWtKUEM5RGIyUnBZMlZCVDA4K0Nna0pDUWs4TDBGUFR6NEtDUWtKUEM5TgphWFIwWlc1MFpUNEtDUWs4TDA5eWFXZHBibVUrQ2drSkNna0pDanhFWlhOMGFXNWhlbWx2Ym1VZ1kyOXVabVZ5YldGU2FXTmxlbWx2CmJtVTlJbk5wSWlBK0NnazhTVzVrYVhKcGVucHZWR1ZzWlcxaGRHbGpieUIwYVhCdlBTSnpiWFJ3SWo0S0NRbGhibVJ5WldFdVltRm4KYkdsdmJtbEFjbVZrZEhWeWRHeGxMbWwwQ2drOEwwbHVaR2x5YVhwNmIxUmxiR1Z0WVhScFkyOCtDZ2s4UkdWemRHbHVZWFJoY21sdgpQZ29KQ1R4RVpXNXZiV2x1WVhwcGIyNWxQZ3BGYkdWdVlTQkRhV05qYVFvSkNUd3ZSR1Z1YjIxcGJtRjZhVzl1WlQ0S0NUd3ZSR1Z6CmRHbHVZWFJoY21sdlBnbzhMMFJsYzNScGJtRjZhVzl1WlQ0S0NRa0tDUWs4VW1semNHOXpkR0UrQ2drSkNUeEpibVJwY21sNmVtOVUKWld4bGJXRjBhV052SUhScGNHODlJbk50ZEhBaVBnb0pDUWtKYTJsaVpYSnVaWFJsYzE5emQwQnNaV2RoYkcxaGFXd3VhWFFLQ1FrSgpQQzlKYm1ScGNtbDZlbTlVWld4bGJXRjBhV052UGdvSkNUd3ZVbWx6Y0c5emRHRStDZ2tKQ2drSlBGSnBjMlZ5ZG1GMGJ6NEtDUWtKClRnb0pDVHd2VW1selpYSjJZWFJ2UGdvSkNRb0pDVHhQWjJkbGRIUnZQZ29KQ1Fsa1lXUnpaSE5oQ2drSlBDOVBaMmRsZEhSdlBnb0oKQ1FvSkNUeE9iM1JsUGdvSkNUd3ZUbTkwWlQ0S0NUd3ZTVzUwWlhOMFlYcHBiMjVsUGdvSkNnazhSR1Z6WTNKcGVtbHZibVUrQ2drSgpQRVJ2WTNWdFpXNTBieUJ1YjIxbFBTSnBiV2N3TURFdWRHbG1JaUIwYVhCdlVtbG1aWEpwYldWdWRHODlJazFKVFVVaVBnb0pQRTluCloyVjBkRzgrQ2drSlNXMXRZV2RwYm1VZ1JHOWpkVzFsYm5Sdk1EQXhDZ2s4TDA5bloyVjBkRzgrQ2p3dlJHOWpkVzFsYm5SdlBnb0oKUEM5RVpYTmpjbWw2YVc5dVpUNEtQQzlUWldkdVlYUjFjbUUrQ2c9PQo=</document> 
    </multiRef> 

同樣的web服務,在RPC /文字格式,使本:

<documento> 
      <descr>smime.p7s</desc> 
      <ext>p7s</ext> 
      <document>85</document> 
      <document>69</document> 
      <document>81</document> 
      <document>53</document> 
      <document>78</document> 
      <document>71</document> 
      <document>74</document> 
      <document>88</document> 
      <document>100</document> 
      <document>50</document> 
      <document>100</document> 
      <document>107</document> 
      <document>98</document> 
      <document>86</document> 
      <document>90</document> 
      <document>53</document> 
      <document>89</document> 
      <document>122</document> 
      <document>74</document> 
      <document>115</document> 
      ......... 
      ......... 

什麼問題?如何使用RPC/Literal SOAP消息格式在內部只有一個帶有base64格式的標記?

+0

這可能並不重要,但僅供參考,兩種RPC風格都不符合WS-I BP 1.1。您可能無法讓其他平臺使用該服務。 –

+0

Document/encoded不符合WS-I標準。 WS-I投訴的格式包括Document/literal,Rpc/literal,Document/Wrapped。我們仍然可以使用RPC/Literal格式。 –

+0

希望這個回答你的問題 http://stackoverflow.com/questions/9240459/soap-rpc-encoded-convert-to-rpc-literal –

回答

2

從你的例子我假設文檔是一個字節數組。這是JAX-RPC規範所說的內容:

5.3.3字節數組字節byte []和Byte []都映射到xsd:base64Binary類型。 java.lang.Byte []類型到 xsd:base64Binary類型的映射現在已被棄用,因爲它無法準確表示 空值。相反,字節[]應按照5.3.4節中的規則映射到常規 陣列。

所以,如果你真的有byte[],第一映射是正確的,如果你有Byte[],這是第二個(大的開銷,但能夠代表空值)。 AFAIR在Apache Axis中出現了一些錯誤,例如錯誤,也可能是您的文檔。因此,請檢查您是否真的使用byte[]以及您正在使用哪個庫。而且,就像評論者所說的那樣,除非你被迫,否則你不應該使用rpc風格。改爲使用文檔/文字綁定。

+0

可能它取決於我如何根據給定的wsdl規範設置字節[]流。如果你想要整個項目,我會給你,做一些測試。如果我嘗試自己創建一個WS提供程序並返回一個base64流,它會正常工作(我的意思是,沒有爲每個字節分割標記)。讓我知道我可以把它交給你。謝謝 –

+0

找到[this](https://www-304.ibm.com/support/docview.wss?uid=swg1LO59433),可能有幫助 –