ServerSideBinding

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

ServerSideBinding

tomioHemmi
逸見と申します. WinからAXISにサービスを移そうとしているのですが、経験お
ありの方お教え願いたいのですが。

 AXISユーザガイドのサーバー側のバインデングに従ってWinのWSDLから
SWSDL2Javaに--skaletonDeploy true をつけてService作成の各種クラスを作
り、実装に入ろうとしていますが、実装テンプレートを見ると、せービス側のプ
ログラムは入力パラメータと出力パラメータ(私の場合はどちらも、構造の複雑な
構造体なのですが)をセットし、あとはサービス内部をかけば良いようにみえる
のですが、AXISの関連モジュールは呼ばなくてかまわないのでしょうか.


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: ServerSideBinding

Masashi Takeichi
はじめまして。武市と申します。

Axis用のサービスを開発するために必要なファイルは、
基本的にWSDL2Javaが自動生成してくれます。
開発者が行うことは、逸見さんのおっしゃられている通り、
サービスを実装するメソッドを記述してあげることだけとなります。

その際にメソッド内部からAxis関連のモジュールを
呼び出す必要はありません。
ユーザが実装したメソッドをWebサービスとして動作させるために
必要な処理(SOAPメッセージの解釈、引数のシリアライズ、デシリアライズなど)
はすべてAxisのランタイムが行ってくれるためです。
サービスの実装メソッドには純粋に業務ロジックのみを
記述すればよいと思います。


On Thu, 28 Jul 2005 19:53:45 +0900
Tom <[hidden email]> wrote:

> 逸見と申します. WinからAXISにサービスを移そうとしているのですが、経験お
> ありの方お教え願いたいのですが。
>
>  AXISユーザガイドのサーバー側のバインデングに従ってWinのWSDLから
> SWSDL2Javaに--skaletonDeploy true をつけてService作成の各種クラスを作
> り、実装に入ろうとしていますが、実装テンプレートを見ると、せービス側のプ
> ログラムは入力パラメータと出力パラメータ(私の場合はどちらも、構造の複雑な
> 構造体なのですが)をセットし、あとはサービス内部をかけば良いようにみえる
> のですが、AXISの関連モジュールは呼ばなくてかまわないのでしょうか.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]

-----------------------------------------
 Masashi Takeichi <[hidden email]>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: ServerSideBinding

tomioHemmi
ご回答どうもありがとうございました. 逸見です。

 早速、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 <[hidden email]> wrote:
>
>
>>逸見と申します. WinからAXISにサービスを移そうとしているのですが、経験お
>>ありの方お教え願いたいのですが。
>>
>> AXISユーザガイドのサーバー側のバインデングに従ってWinのWSDLから
>>SWSDL2Javaに--skaletonDeploy true をつけてService作成の各種クラスを作
>>り、実装に入ろうとしていますが、実装テンプレートを見ると、せービス側のプ
>>ログラムは入力パラメータと出力パラメータ(私の場合はどちらも、構造の複雑な
>>構造体なのですが)をセットし、あとはサービス内部をかけば良いようにみえる
>>のですが、AXISの関連モジュールは呼ばなくてかまわないのでしょうか.
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: [hidden email]
>>For additional commands, e-mail: [hidden email]
>
>
> -----------------------------------------
>  Masashi Takeichi <[hidden email]>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: ServerSideBinding

Masashi Takeichi
武市です。

こちらでも簡単な.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 <[hidden email]> 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 <[hidden email]> wrote:
> >
> >
> >>逸見と申します. WinからAXISにサービスを移そうとしているのですが、経験お
> >>ありの方お教え願いたいのですが。
> >>
> >> AXISユーザガイドのサーバー側のバインデングに従ってWinのWSDLから
> >>SWSDL2Javaに--skaletonDeploy true をつけてService作成の各種クラスを作
> >>り、実装に入ろうとしていますが、実装テンプレートを見ると、せービス側のプ
> >>ログラムは入力パラメータと出力パラメータ(私の場合はどちらも、構造の複雑な
> >>構造体なのですが)をセットし、あとはサービス内部をかけば良いようにみえる
> >>のですが、AXISの関連モジュールは呼ばなくてかまわないのでしょうか.
> >>
> >>
> >>---------------------------------------------------------------------
> >>To unsubscribe, e-mail: [hidden email]
> >>For additional commands, e-mail: [hidden email]
> >
> >
> > -----------------------------------------
> >  Masashi Takeichi <[hidden email]>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
-----------------------------------------
 Masashi Takeichi <[hidden email]>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

error.txt (1K) Download Attachment
MixBookDataEchoService.wsdl (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: ServerSideBinding

Masashi Takeichi
武市です。

先ほどのメールの内容に一部、誤りがありました。

> 下記が動作環境です。
>  サーバ
>   Apache tomcat 5.0.28
>   Apache axis 1.2.1

動作環境をApache axis 1.2.1と書きましたが、
実際に使っていたのは『1.2.1 RC2』でした。
1.2.1にバージョンアップして手順をやり直してみたところ、
先ほど報告したエラーも発生せず、移植を完了することができました。

>逸見さん
もし古いバージョンをご使用でしたら、
まずは最新バージョン(1.2.1)で動作確認してみるとよいかと思います。


On Mon, 01 Aug 2005 15:11:47 +0900
Masashi Takeichi <[hidden email]> wrote:

> 武市です。
>
> こちらでも簡単な.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 <[hidden email]> 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 <[hidden email]> wrote:
> > >
> > >
> > >>逸見と申します. WinからAXISにサービスを移そうとしているのですが、経験お
> > >>ありの方お教え願いたいのですが。
> > >>
> > >> AXISユーザガイドのサーバー側のバインデングに従ってWinのWSDLから
> > >>SWSDL2Javaに--skaletonDeploy true をつけてService作成の各種クラスを作
> > >>り、実装に入ろうとしていますが、実装テンプレートを見ると、せービス側のプ
> > >>ログラムは入力パラメータと出力パラメータ(私の場合はどちらも、構造の複雑な
> > >>構造体なのですが)をセットし、あとはサービス内部をかけば良いようにみえる
> > >>のですが、AXISの関連モジュールは呼ばなくてかまわないのでしょうか.
> > >>
> > >>
> > >>---------------------------------------------------------------------
> > >>To unsubscribe, e-mail: [hidden email]
> > >>For additional commands, e-mail: [hidden email]
> > >
> > >
> > > -----------------------------------------
> > >  Masashi Takeichi <[hidden email]>
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [hidden email]
> > > For additional commands, e-mail: [hidden email]
> > >
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
>
> -----------------------------------------
>  Masashi Takeichi <[hidden email]>

-----------------------------------------
 Masashi Takeichi <[hidden email]>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: ServerSideBinding

tomioHemmi
武市様

逸見です。どうも実験までしていただきまして. 私の環境はAXISが1.2.1.
TOMCATが4.1.31です。 構造体を簡単なものにすると通るのですが、なかなか上
手く行きません. もう少しやってみます。 御礼遅くなって申しわけありません.

Masashi Takeichi wrote:

> 武市です。
>
> 先ほどのメールの内容に一部、誤りがありました。
>
>
>>下記が動作環境です。
>> サーバ
>>  Apache tomcat 5.0.28
>>  Apache axis 1.2.1
>
>
> 動作環境をApache axis 1.2.1と書きましたが、
> 実際に使っていたのは『1.2.1 RC2』でした。
> 1.2.1にバージョンアップして手順をやり直してみたところ、
> 先ほど報告したエラーも発生せず、移植を完了することができました。
>
> >逸見さん
> もし古いバージョンをご使用でしたら、
> まずは最新バージョン(1.2.1)で動作確認してみるとよいかと思います。
>
>
> On Mon, 01 Aug 2005 15:11:47 +0900
> Masashi Takeichi <[hidden email]> wrote:
>
>
>>武市です。
>>
>>こちらでも簡単な.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 <[hidden email]> 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' 属性が無効か、または見つかりません。
>>>以下略


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]