2017-11-02 11 views
0

Oracle BPEL 12cを使用してプロセスを開発しています。Bpel 12c - 基本認証でWebサービスを呼び出す

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

私が呼ぶとき、私はこれを受け取る:

<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プロパティーもあります。

どんな摂取ですか?

敬具、 リカルド

+0

こんにちは!誰かが私たちを助けてくれますか? – Ricardo

答えて

1

私はあなたの合成スニペットは、次のようになりますと仮定します。ユーザー名とパスワードを定義するときに変数を使用する代わりに、明示的に

をユーザー名とパスワードする

<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> 

も良い練習

複合アプリケーションのデプロイ中に、生成された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> 
+0

あなたの返信ありがとうゆりKvashukありがとう。実際にはプロパティは次のとおりです。 <プロパティ名= "javax.xml.ws.security.auth.password" many = "false" override = "may">テスト Ricardo

+1

基本的な認証パラメータをどのようにサービスに渡すかによって異なります。次のように実装することができます。最初のステップでは、名前oracle.webservices.http.headersと値:name = "oracle.webservices.http.headers">ユーザー名、パスワードを使用してプロパティを追加します。 –

+1

次に、パラメータを参照に渡すために、次のプロパティを追加する必要があります(bpelがこの場合使用されている場合)。 test

関連する問題