0

現在、部品に関する情報を取得するために Java Web サービス (Windchill の Info*Engine ドキュメントに記載) を使用する可能性を調査しています。Windchill バージョン 10.1 を使用しています。

.Net アプリケーションで使用する Web サービスを正常にデプロイしました。Windchill 情報にアクセスしようとしない呼び出しは正常に完了します。しかし、部品情報を取得しようとすると、wt.method.AuthenticationException が発生します。

以下は、webService 内で実行されるコードです (Web サービス メソッドは、このメソッドを呼び出すだけです)。

public static String GetOnePart(String partNumber) throws WTException
{
    WTPart part=null;

    RemoteMethodServer server  =  RemoteMethodServer.getDefault();   
    server.setUserName("theUsername");   
    server.setPassword("thePassword");

    try {
        QuerySpec qspec= new QuerySpec(WTPart.class);
        qspec.appendWhere(new SearchCondition(WTPart.class,WTPart.NUMBER,SearchCondition.LIKE,partNumber),new int[]{0,1});

        // This fails.
        QueryResult qr=PersistenceHelper.manager.find((StatementSpec)qspec);
        while(qr.hasMoreElements())
        {
            part=(WTPart) qr.nextElement();
            partName = part.getName();
        }
    } catch (AuthenticationException e) {
        // Exception caught here.
        partName = e.toString();
    }

    return partName;
}

このコードは、サーバーにデプロイされたコマンド ライン アプリケーションでは機能しますが、Web サービス内から実行すると wt.method.AuthenticationException で失敗します。Web サービスは MethodServer 内にあるため、RemoteMethodServer の使用は私がすべきことではないため、失敗したと感じています。

とにかく、これを行う方法を知っている人がいれば、それは素晴らしいことです。おまけの質問は、Web サービス内からログを記録する方法と、このログを構成する方法です。

ありがとうございました。

4

2 に答える 2