武市です。

こちらでも簡単な.NET上のサービスをAxisに移植してみました。
確認のため、手順をまとめておきます。

1. .NET上のサービスのWSDLを取得する。
2. AxisのWSDL2Javaツールを使って、
  取得したWSDLからAxis用の各種ファイルを自動生成する。
3. 自動生成されたファイルの中でサービスの実装クラスに
  該当するもののメソッドを記述する。
4. サービスの実装クラスをコンパイルし、Axis上にデプロイする。
5. AxisのAPIを使用してクライアントを作成し、サービスの動作確認をする。
6. Axis上のサービスのWSDLを取得する。
7. .NETのツールを使ってWSDLからクライアントスタブを作成する。
8. .NETのクライアントスタブを使用してクライアントを作成し、
  サービスの動作確認をする。

#手順7. 8.は.NET Framework SDKのコマンドラインツール
 (wsdl.exe, csc.exe)を使用した。

そうすると逸見さんと同じように
クライアントスタブの生成時にエラーが発生しました。エラーの種類は異なるようですが。
調べてみた結果、Axisが生成するWSDL上に不正な文字列が出力されていることが
分かったため、その部分を修正すると動作するようになりました。
#使用したWSDLファイル(.NET)とエラー出力を添付しました。

下記が動作環境です。
 サーバ
  Apache tomcat 5.0.28
  Apache axis 1.2.1
 クライアント
  .NET Framework SDK v1.1

逸見さんの環境でエラーが発生するのも
おそらくAxisが生成しているWSDLに問題があるものと思います。
下記の情報を教えていただければ、
もう少し詳しい原因の特定も可能かと思います。
・.NET上のサービスのWSDL
・Axis上のサービスのWSDL
・.NETおよびAxisのバージョン



On Sun, 31 Jul 2005 22:24:55 +0900
tomioHemmi <[EMAIL PROTECTED]> wrote:

> ご回答どうもありがとうございました. 逸見です。
> 
>  早速、WindowsSystemからWSDLを取り出し、WSDL2Javaを動かし、生成された
> Soap.BindingImpli.javaに下記のようににテストコードを書き込みLinuxマシーン上
> でDeploy、WSDLがLocalhostで見えることを確認しました。(Tomcatを使っています.)
>  次に.NET側でテストモジュールを作ろうと、別のWindowsマシーンから、このサー
> バーに向けて参照の追加を行うと下記のようなエラーが出てしまいサービスと接
> 続できません. 手順でなにか間違いあれば、ご指摘いただけると大変たすかり
> ます。
> 
> 「修正したSoap.BindingImpli.java」
> 
> package testWS;
> 
> public class TestsysSoap_BindingImpl implements testWS.TestsysSoap_PortType{
>     private String version = new String("1.0");
>       
>       public testWS.HelloResponse hello(testWS.Hello parameters) throws
> java.rmi.RemoteException {
>       HelloResponse ret = new HelloResponse();
>       ret.setHelloResult("hoge");
>       ret.setGeneric(version);
>       return ret;
> 
>     }
> 
> 「Win側のエラー」
> 
> c:\inetpub\wwwroot\accessKure\Web
> References\WebReference\Reference.map(1): カスタム ツール エラー : Web
> サービス/スキーマをインポートできません。名前空間 'urn:xxx' から連結
> 'TestsysSoapSoapBinding' をインポートできません。 操作 'Hello' をイン
> ポートできません。 targetNamespace='urn:xxx' を持つスキーマの構文が無
> 効です。 'base' 属性が無効か、または見つかりません。
> 
> 
> 
> Linux.netMasashi Takeichi wrote:
> > はじめまして。武市と申します。
> > 
> > Axis用のサービスを開発するために必要なファイルは、
> > 基本的にWSDL2Javaが自動生成してくれます。
> > 開発者が行うことは、逸見さんのおっしゃられている通り、
> > サービスを実装するメソッドを記述してあげることだけとなります。
> > 
> > その際にメソッド内部からAxis関連のモジュールを
> > 呼び出す必要はありません。
> > ユーザが実装したメソッドをWebサービスとして動作させるために
> > 必要な処理(SOAPメッセージの解釈、引数のシリアライズ、デシリアライズなど)
> > はすべてAxisのランタイムが行ってくれるためです。
> > サービスの実装メソッドには純粋に業務ロジックのみを
> > 記述すればよいと思います。
> > 
> > 
> > On Thu, 28 Jul 2005 19:53:45 +0900
> > Tom <[EMAIL PROTECTED]> wrote:
> > 
> > 
> >>逸見と申します. WinからAXISにサービスを移そうとしているのですが、経験お
> >>ありの方お教え願いたいのですが。
> >>
> >> AXISユーザガイドのサーバー側のバインデングに従ってWinのWSDLから
> >>SWSDL2Javaに--skaletonDeploy true をつけてService作成の各種クラスを作
> >>り、実装に入ろうとしていますが、実装テンプレートを見ると、せービス側のプ
> >>ログラムは入力パラメータと出力パラメータ(私の場合はどちらも、構造の複雑な
> >>構造体なのですが)をセットし、あとはサービス内部をかけば良いようにみえる
> >>のですが、AXISの関連モジュールは呼ばなくてかまわないのでしょうか.
> >>
> >>
> >>---------------------------------------------------------------------
> >>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> > -----------------------------------------
> >  Masashi Takeichi <[EMAIL PROTECTED]>
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

-----------------------------------------
 Masashi Takeichi <[EMAIL PROTECTED]>

Attachment: error.txt
Description: Binary data

Attachment: MixBookDataEchoService.wsdl
Description: Binary data

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

メールによる返信