我們有一個網絡服務,提供汽車保險報價和一家公司提供保險代理管理系統想爲他們的客戶使用網絡服務,但他們想通過網絡服務原始xml而不是使用wsdl來創建一個端口,服務期望的對象並調用Web方法。此Web服務會接受原始xml和對象嗎?
Web服務已經通過創建一個對象,像這樣
com.insurance.quotesvc.AgencyQuote service = new com.insurance.quotesvc.AgencyQuote();
com.insurance.quotesvc.QuotePortType port = service.getQuotePortType();
com.insurance.quotesvc.schemas.request.ACORD parameter = null;
然後創建初始化組成響應中的其他對象的請求對象執行完美無缺。
parameter = factory.createACORD();
parameter.setSignonRq(signOn);
parameter.setInsurancesSvcRq(svcRq);
並將請求發送到Web服務。
com.insurance.quotesvc.schemas.response.ACORD result = null;
result = port.requestQuote(parameter);
通過這樣做,我能夠輕鬆地將請求和結果放入xml文件中,並按照我的意願進行操作。 因此,如果客戶端要通過http post發送web服務作爲soap信封內的raw xml。 Web服務是否能夠在不對Web服務進行任何更改的情況下處理xml,還是需要對Web服務進行更改才能處理該類型的請求?
Web服務是JAX_WS,我們目前同時使用上述方法使用Web服務的Java和C#客戶端,但是現在有另一個客戶端想要在soap信封內發送原始xml,而不是創建對象。我很確定他們將使用vb調用Web服務。
我敢肯定,我錯過了一些明顯的東西,但它目前正在躲避我,任何幫助都非常感謝。
此答案最能幫助我找到解決問題的方法。我將創建另一個接受原始xml的Web服務,並使用jaxb將xml解組爲一個對象,然後我可以將它傳遞給當前的Web服務。這應該減少所需的額外工作。感謝大家的答案。 – ChadNC 2010-04-08 14:24:56