2010-01-19 31 views
3

我正在運行jboss-4.2.1.GA來生成WS請求。RPC /編碼的Jboss問題

我在JWSDP-2.0/JAXRPC的幫助下創建了WS客戶端。我已將客戶端部署到Jboss,現在我正在嘗試發送請求。

當我嘗試初始化客戶端服務:javax.xml.rpc.Service service = servicefactory.createService(new URL(wsdlURL), serviceQN)時,Jboss開始抱怨。

該Jboss的生成的錯誤是:

ERROR [JBossXSErrorHandler] JBossWS_targetnamespace1.com7796329154971783225.xsd [域:http://www.w3.org/TR/xml-schema-1]::[key=src-resolve.4.2]::Message=src-resolve.4.2: 錯誤解決組件 'tns2:SimpleSerialiser'。這是 檢測「tns2:SimpleSerialiser」 在命名空間 「http://targetnamespace2.com」,但是從這個命名空間 組件不是 可引用從架構文檔 「文件:/home/jbossPath/jboss-4.2.1.GA/server /default/tmp/jbossws/JBossWS_targetnamespace1.com7796329154971783225.xsd」。 如果這是不正確的名稱空間, 或許前綴 'tns2:SimpleSerialiser'需要更改爲 。如果這是正確的 名稱空間,則應將相應的 '導入'標記添加到 '文件中:/home/jbossPath/mobaq/jboss-4.2.1.GA/server/default/tmp/jbossws/JBossWS_targetnamespace1.com7796329154971783225的.xsd」。

隨後警告:

警告[WSDL11Reader]編碼樣式 'http://schemas.xmlsoap.org/soap/encoding/' 不支持: {甕:命名空間} doTask

最後,下面的錯誤顯示:

ERRO [R [STDERR] org.jboss.ws.WSException:無法獲得 Java類型映射: {甕:命名空間} ArrayOf_tns2_TagType ERROR [STDERR]在 org.jboss.ws.metadata.builder.jaxrpc.JAXRPCMetaDataBuilder.buildInputParameter (JAXRPCMetaDataBuilder.java:266) ... ...

我知道一個similar error已經張貼在過去community.jboss.org但對於不同的任務。我不確定提供的修補程序是否可以解決我的問題,但我不知道如何實施所提供的修補程序。

除此之外,我發現有人有類似的問題:JAX-RPC in JBoss 4.2.3但建議的解決方案不適合我。

我也知道JbossWS不支持RPC/Encoded,但我使用jboss作爲我的解決方案。 有沒有辦法讓我解決這個問題,我不能讓Jboss創建客戶端服務來發送請求嗎?我不確定請求一個RPC /文字WSDL文件是可能的,所以這就是爲什麼我問。

任何建議將不勝感激。

回答

0

我終於通過實施從JAX-RPC in JBoss 4.2.3後提出的解決方案來解決這個問題:

要跳到追,我只是把從軸1.4以下JAR在我耳邊的lib目錄: axis.jar, AXIT-的ant.jar,公共發現-0.2.jar,沒有jaxrpc.jar,沒有saaj.jar,WSDL4J-1.5.1.jar

我所做的就是把我自己的WS客戶罐子上面的罐子文件,這就是爲什麼它不起作用。解決方案在那裏,在我面前是黑色和白色的,我沒有正確實施。如果問題太緊密,太長時間就會出現問題。

我是一個數字。

1

http://schemas.xmlsoap.org/soap/encoding/是舊式Web服務堆棧使用的遺留樣式(這很糟糕,even Microsoft recommend against it)。它存在嚴重缺陷,因此被排除在WS-I interoperability spec之外,這是大多數現代Java Web服務棧實現的​​。

我知道的唯一處理這些舊編碼的java堆棧是Axis 1,它本身存在嚴重缺陷,但可能是您唯一的選擇。您應該能夠從JBoss內部運行Axis作爲客戶端。

+0

謝謝,我會嘗試剛纔建議的解決方案。乾杯。 – 2010-01-20 09:44:43