2

私はwso2管理サービスに取り組んでいます。AuthenticationAdmin と同じように URL を取得http://localhost:9763/services/AuthenticationAdmin?wsdlします。

これで、admin,admin,127.0.0.1 でログイン操作を実行すると、true が返されます。

ESB コンソールにログインが表示されます。

今、ログアウト操作を押しても応答がありません。

また、応答のヘッダーにセッション ID が含まれていないことにも気付きました。

私の ESB は 4.6.0 です。

ログイン要求:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aut="http://authentication.services.core.carbon.wso2.org">
   <soapenv:Header/>
   <soapenv:Body>
      <aut:login>
         <!--Optional:-->
         <aut:username>admin</aut:username>
         <!--Optional:-->
         <aut:password>admin</aut:password>
         <!--Optional:-->
         <aut:remoteAddress>127.0.0.1</aut:remoteAddress>
      </aut:login>
   </soapenv:Body>
</soapenv:Envelope>

ログイン応答:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <ns:loginResponse xmlns:ns="http://authentication.services.core.carbon.wso2.org">
         <ns:return>true</ns:return>
      </ns:loginResponse>
   </soapenv:Body>
</soapenv:Envelope>

応答で、ログインを押すと、下部に次のようにヘッダーに6つの要素しか表示されません。

> Date Tue, 25 Jun 2013 14:31:42 GMT
> Transfer-Encoding chunked
> #status# HTTP/1.1 200 OK
> Content-Type text/xml; charset=UTF-8
> Connection Keep-Alive
> Server WSO2-PassThrough-HTTP

今、私はセッションIDを取得しません。どこが間違っているのか指摘していただけますか?

私のシナリオは、WSO2 にログインしてから、他の管理サービス操作を実行したいというものです。

4

2 に答える 2

5

Javaクライアントでしばらくデバッグした後(他の回答を参照)、SOAPUIエンドポイントがJavaクライアントで使用していた9443ポートを使用していないことに気付きました。下の画像を参照してください。

ここに画像の説明を入力

8243ポートは、SOAPUI によって WSDL から取得されました。

SOAP UI エンドポイントのポートを8243から9443に変更すると、以下に示すように、応答で JSESSIONID が返されます。

HTTP/1.1 200 OK
Set-Cookie: JSESSIONID=573D42750DE6C0A287E1582239EB5847; Path=/; Secure; HttpOnly
Content-Type: text/xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 26 Jun 2013 22:14:20 GMT
Server: WSO2 Carbon Server

<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:loginResponse xmlns:ns="http://authentication.services.core.carbon.wso2.org"><ns:return>true</ns:return></ns:loginResponse></soapenv:Body></soapenv:Envelope>

ポート 8243 と 9443 の違い、または一方が JSESSIONID を返し、もう一方が返さない理由がわかりません。

于 2013-06-26T22:18:09.743 に答える