- - PR -
WebLogic & リテラルエンコーディング
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-12-20 23:33
お世話になります。ksaitoと申します。
現在、WebLogic Server 8.1(SP3)にて、ドキュメント指向(リテラルエンコーディング)のWebサービスの構築テストを行っているのですが、作成したクライアントスタブ殻サービスを呼び出した際にエラーが発生してしまい、うまく実行できずにいます(エラー内容を株に記載しました)。 (Axisのwsdl2javaを用いてスタブを作成した場合は問題なく実行できます。) 問題はシリアライズに関連しているようなのですが、回避方法がまったく分かりません・・・。 同じような現象に見舞われている方、いらっしゃいませんか? 原因をお分かりの方、いらっしゃればぜひご教授ください。よろしくお願いします。 【表示されるエラーメッセージ】 java.rmi.RemoteException: web service invoke failed: javax.xml.soap.SOAPException: failed to serialize class java.lang.Object weblogic.xml.schema.binding.SerializationException: type mapping lookup failure on class=class org.apache.crimson.tree.ElementNode TypeMapping=TYPEMAPPING SIZE=3 【サービスメソッド】 --------------------------------------- public class HogeService { public HogeService() { } public Document execute(org.w3c.dom.Document doc) throws Exception { //戻り値の生成 org.w3c.dom.Document resultDoc = ... return resultDoc; } } --------------------------------------- 【サービスのデプロイ】 servicegenタスク + serviceタスクを使用(style="document"オプションを付加) <servicegen destEar="${build}/${ear_file}" warName="${war_file_11}" keepGenerated="True"> <service style="document" javaClassComponents="hoge.HogeService" targetNamespace="${namespace}" serviceName="HogeService" serviceURI="/HogeService" generateTypes="True" expandMethods="True" useSOAP12="false"> </service> <classpath> <pathelement path="${build}"/> <pathelement path="${java.class.path}"/> </classpath> </servicegen> 【スタブの生成】 clientgenタスクを使用 <clientgen wsdl="${url_literal_11}"autotype="true" packageName="${pkg}.weblogic.literal" keepGenerated="true" clientJar="${stub-weblogic-literal-11}" /> 【クライアントコード】 public static void main(String[] args) { //スタブの生成 HogeServicePort port = ... //DOMオブジェクトの生成 Document doc = ... Object result = stub.execute(doc); // <-ここでエラーが発生する } [ メッセージ編集済み 編集者: ksaito 編集日時 2004-12-20 23:43 ] |
1