1

Oracle BPEL 12c を使用してプロセスを開発しています。

基本認証で外部サービスを呼び出す必要があります。公開されたサービス エンドポイントで受け取った資格情報を外部サービスに渡す必要があります。

私が電話すると、私はこれを受け取ります:

<remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
-<part name="summary">
<summary>
oracle.fabric.common.FabricException: oracle.fabric.common.FabricException: Error in getting XML input stream:XXXXXX?WSDL: Server Authentication Required: Error in getting XML input stream: XXXX?WSDL: Server Authentication Required
</summary>
</part>
-<part name="detail">
<detail>Server Authentication Required</detail>
</part>
</remoteFault>

外部サービスの oracle.webservices.auth.password および oracle.webservices.auth.username パスワードもコンポジットで定義しようとしました。

また、javax.xml.ws.security.auth.username および javax.xml.ws.security.auth.password プロパティも成功しません。

何か提案はありますか?

よろしく、リカルド

4

1 に答える 1

2

複合スニペットは次のようになるはずです。

<reference name="Service1" ui:wsdlLocation="test1.wsdl">
    <interface.wsdl  interface="http://tempuri.org/#wsdl.interface(IService1)"/>
    <binding.ws port="http://tempuri.org/#wsdl.endpoint(Service1/BasicHttpBinding_IService1)"  location="test1.wsdl" soapVersion="1.1">
        <property name="weblogic.wsee.wsat.transaction.flowOption" type="xs:string" many="false">WSDLDriven</property>
        <property name="oracle.webservices.auth.username" type="xs:string" many="false">test</property>
        <property name="oracle.webservices.auth.password" type="xs:string" many="false">password</property>
        <property name="oracle.webservices.preemptiveBasicAuth" type="xs:string" many="false">true</property>
    </binding.ws>
</reference>

また、明示的なユーザー名とパスワードの代わりに、ユーザーとパスワードを定義するときに変数を使用することもお勧めします

    <property name="oracle.webservices.auth.username" type="xs:string" many="false">{$username}</property>
     <property name="oracle.webservices.auth.password" type="xs:string" many="false">{$password}</property>

複合アプリケーションのデプロイ中に、生成された cfg_plan.xml でそれらをオーバーライドします。

 <reference name="Service1">
     <!--Add search and replace rules for the binding properties-->
     <binding type="ws">
        <attribute name="port">
           <replace>{your_port}</replace>
        </attribute>
        <attribute name="location">
           <replace>{your_location}</replace>
        </attribute>
        <property name="weblogic.wsee.wsat.transaction.flowOption">
           <replace>WSDLDriven</replace>
        </property>
        <property name="oracle.webservices.auth.username">
           <replace>test</replace>
        </property>
        <property name="oracle.webservices.auth.password">
           <replace>password</replace>
        </property>
        <property name="oracle.webservices.preemptiveBasicAuth">
           <replace>true</replace>
        </property>
     </binding>
  </reference>
于 2017-11-13T10:09:23.817 に答える