- PR -

axis によるWebサービスのデプロイができません。

投稿者投稿内容
TK
常連さん
会議室デビュー日: 2002/08/13
投稿数: 42
投稿日時: 2003-11-21 15:36
お世話になっております。TKです。
デプロイするコマンドで以下のように -lオプションをつけて実行してみました。

>java org.apache.axis.client.AdminClient
-l"http://localhost:8070/axis/services/AdminService"
deploy.wsdd

そうすると、
Hello (wsdl)
getString
setString
が追加されています。(portは諸事情により8070を使用しています)

このサービスは文字列のset getのみの簡単なものですが、以下のようにクライアント
プログラムを作成して実行したところ

package hello;

public class HelloAxisClient {
public static void main (String[] args) throws Exception {
// サービスのバインディングを取得
HelloAxis binding = new HelloAxisServiceLocator().getHello();

// セッションを有効(セッションの間、サービス側は一つのインスタンスを生成)
((HelloSoapBindingStub)binding).setMaintainSession(true);

try {
// サービス側のメソッドの呼び出し
System.out.println(binding.getString());
binding.setString("Hello!!");
System.out.println(binding.getString());
} catch (java.rmi.RemoteException re) {
re.printStackTrace();
}
}
}

以下のようにAXIS Falutが発生します(泣)

AxisFault
faultCode: {http://xml.apache.org/axis/}HTTP
faultSubcode:
faultString: (404)/axis/Hello
faultActor:
faultNode:
faultDetail:
{}string: return code: 404
<html><head><title>Apache Tomcat/4.1.24 - Error report</tit
le><STYLE><!--H1{font-family : sans-serif,Arial,Tahoma;color : white
;background-color : #0086b2;} H3{font-family : sans-serif,Arial,Tahoma;color : w
hite;background-color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;col
or : black;background-color : white;} B{color : white;background-color : #0086b2
;} HR{color : #0086b2;} --></STYLE> </head><body><h1>
HTTP Status 404 - /axis/Hello</h1><HR size="1" noshade><
;p><b>type</b> Status report</p><p><b>message&l
t;/b> <u>/axis/Hello</u></p><p><b>description&l
t;/b> <u>The requested resource (/axis/Hello) is not available.</u&g
t;</p><HR size="1" noshade><h3>Apache Tomcat/4.1.24&
lt;/h3></body></html>

(404)/axis/Hello
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.j
ava:630)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:128)

at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)
at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:2248)
at org.apache.axis.client.Call.invoke(Call.java:2171)
at org.apache.axis.client.Call.invoke(Call.java:1691)
at hello.HelloSoapBindingStub.getString(HelloSoapBindingStub.java:104)
at hello.HelloAxisClient.main(HelloAxisClient.java:13)

一難さってまた一難ですが、そもそもデプロイの時点で-lオプションの使用方法が
間違えているのかもしれませんが・・分かりません。

アドバイスをどうかお願いいたします。

TK
TK
常連さん
会議室デビュー日: 2002/08/13
投稿数: 42
投稿日時: 2003-11-21 16:24
お世話になっております。
TKです。

TRさんに教わったとおりにやってみましたが、
同じエラーです・・
Processing file deploy.wsdd
Exception:: (401)Unauthorized


引き続き検証します。
TR
会議室デビュー日: 2003/07/12
投稿数: 2
投稿日時: 2003-11-21 16:43
ログを見る限り、サービスのURLが見つからないようです。
HelloAxisServiceLocatorにサービスのURLが埋め込まれていると思います。
正しいURLが指定されていますか?
http://localhost:8070/axis/services/Helloって感じになるのでしょうか。
Keisuke
大ベテラン
会議室デビュー日: 2003/10/24
投稿数: 105
投稿日時: 2003-11-21 19:24
Java2WSDL の -l オプションはどのように指定しましたか?
TR さんの指摘のように、

-l"http://localhost:8070/axis/services/Hello"

が正しいかと思います。
TK
常連さん
会議室デビュー日: 2002/08/13
投稿数: 42
投稿日時: 2003-11-21 21:58
TKです。
いけましたーーー
locatorのURLは正しく設定されていましたが
wsdlを作成するときの値が間違えていました。
Keisukeさん、TRさん
ありがとうございました。

なんとか週末一日出社くらいで済みそうです^^;

TK

スキルアップ/キャリアアップ(JOB@IT)