2015-10-19 4 views
13

WebLogic 10.3.5 WebアプリケーションをWebLogic 12.1.3に移行する過程で、Webサービスのセキュリティに関連すると思われる問題が発生しました。このアプリケーションは、Axis 1.5.6を使用して(まだWebLogic 10.3.5上で実行されている)SOA Suite SOAPサービスを呼び出します。 Webサービスのセキュリティを無効にすると、我々は予想される応答を取り戻す:SOAスイートからAxis2へのデータの廃棄

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<ns3:getNamesResponse 
    xmlns:ns2="http://www.example.com/ABC/Common" 
    xmlns:ns3="http://www.example.com/ABC/Profile"> 
    <ns3:OperatingName> 
     <ns3:Number>123456789</ns3:Number> 
     <ns3:Name>Company Name, Inc.</ns3:Name> 
    </ns3:OperatingName> 
</ns3:getNamesResponse> 

しかし、すぐにWebサービスのセキュリティが有効になっているとして(Apacheのランパート1.5.2を使用して、ApacheのNeethi 2.0.5)は、私たちは、空の応答の受信を開始:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<ns2:getNamesResponse 
    xmlns:ns2="http://www.example.com/ABC/Profile" 
    xmlns:ns4="http://www.example.com/ABC/Common" /> 

奇妙なことは、SOA Suiteコンソールを見たときに、SOAのうち応答が戻って(有効なセキュリティ付き)Webアプリケーションへの正しいに見えるということです。

<message> 
    <properties> 
     <property name="tracking.compositeInstanceId" value="2110209"/> 
     <property name="tracking.ecid" value="0058XKIkdpHFw00Fzzw0w00004Et005Kmk"/> 
     <property name="ws.wsu.id" value="Body-Body_tTzuB5XmRNQPR7Y7"/> 
    </properties> 
    <parts> 
     <part name="getNamesResponse"> 
      <bp:getNamesResponse> 
       <bp:OperatingName> 
        <bp:Number>123456789</bp:Number> 
        <bp:Name>Company Name, Inc.</bp:Name> 
       </bp:OperatingName> 
      </bp:getNamesResponse> 
     </part> 
    </parts> 
</message> 

例外は記録されません。他の誰かがこの種の問題を経験し解決しましたか?

+0

エラーのログを確認しましたか? Weblogicには独自のXMLライブラリがあるため、ライブラリの競合が発生する可能性があります。 –

+0

同じSOAPリクエストを使用していますか? セキュリティ用の新しいタグ(WS-Security 1.1など)があるはずです。 おそらくSOA内部クライアントがエンドポイントに直接向いています(セキュリティ層を迂回している)。 – devwebcl

+0

ログは何らかの障害を示すものではありません。 SOAPクライアントコードは変更されておらず、上記のようなクライアントコンポーネントのバージョン(rampartなど)もありません。 SOAがセキュリティをバイパスしていたように見えますが、セキュリティの例外が発生します。セキュリティの観点からはすべてが機能しているようです。それは単純にドロップされる応答XMLです。 – 6006604

答えて

1

最後に、WebLogicで提供されるものではなく、アプリケーションにバンドルされたJARファイルを強制的に使用することで、この問題を解決しました。 Classloader Analysis Toolといくつかの試行錯誤を使用して、アプリケーションにバンドルされているSOAPメッセージの構築に使用されていたJARをすべて指定し、weblogic-application.xmlで次のように終了しました:

<wls:prefer-application-packages> 
     <wls:package-name>com.ctc.wstx.*</wls:package-name> 
     <wls:package-name>javax.mail.*</wls:package-name> 
     <wls:package-name>javax.mail.event.*</wls:package-name> 
     <wls:package-name>javax.mail.internet.*</wls:package-name> 
     <wls:package-name>javax.mail.search.*</wls:package-name> 
     <wls:package-name>javax.mail.util.*</wls:package-name> 
     <wls:package-name>javax.wsdl.*</wls:package-name> 
     <wls:package-name>javax.wsdl.extensions.*</wls:package-name> 
     <wls:package-name>javax.wsdl.factory.*</wls:package-name> 
     <wls:package-name>javax.wsdl.xml.*</wls:package-name> 
     <wls:package-name>org.apache.oro.*</wls:package-name> 
     <wls:package-name>org.apache.xerces.*</wls:package-name> 
     <wls:package-name>org.apache.axiom.*</wls:package-name> 
     <wls:package-name>org.bouncycastle.*</wls:package-name> 
     <wls:package-name>org.bouncycastle.asn1.*</wls:package-name> 
     <wls:package-name>org.bouncycastle.crypto.*</wls:package-name> 
     <wls:package-name>org.bouncycastle.i18n.*</wls:package-name> 
     <wls:package-name>org.bouncycastle.jce.*</wls:package-name> 
     <wls:package-name>org.bouncycastle.math.*</wls:package-name> 
     <wls:package-name>org.bouncycastle.mozilla.*</wls:package-name> 
     <wls:package-name>org.bouncycastle.ocsp.*</wls:package-name> 
     <wls:package-name>org.bouncycastle.openssl.*</wls:package-name> 
     <wls:package-name>org.bouncycastle.util.*</wls:package-name> 
     <wls:package-name>org.bouncycastle.voms.*</wls:package-name> 
     <wls:package-name>org.bouncycastle.x509.*</wls:package-name> 
     <wls:package-name>org.codehaus.stax2.*</wls:package-name> 
     <wls:package-name>org.jaxen.*</wls:package-name> 
     <wls:package-name>org.jaxen.dom.*</wls:package-name> 
     <wls:package-name>org.jaxen.dom4j.*</wls:package-name> 
     <wls:package-name>org.jaxen.expr.*</wls:package-name> 
     <wls:package-name>org.jaxen.function.*</wls:package-name> 
     <wls:package-name>org.jaxen.javabean.*</wls:package-name> 
     <wls:package-name>org.jaxen.jdom.*</wls:package-name> 
     <wls:package-name>org.jaxen.pattern.*</wls:package-name> 
     <wls:package-name>org.jaxen.saxpath.*</wls:package-name> 
     <wls:package-name>org.jaxen.util.*</wls:package-name> 
     <wls:package-name>org.jaxen.xom.*</wls:package-name> 
     <wls:package-name>org.slf4j.*</wls:package-name> 
     <wls:package-name>org.slf4j.helpers.*</wls:package-name> 
     <wls:package-name>org.slf4j.impl.*</wls:package-name> 
     <wls:package-name>org.slf4j.spi.*</wls:package-name> 
     <wls:package-name>org.apache.axis2.*</wls:package-name> 
     <wls:package-name>org.opensaml.*</wls:package-name> 
     <wls:package-name>org.apache.neethi.*</wls:package-name> 
    </wls:prefer-application-packages> 

クラスローダー分析ツールは、EARファイルから削除した重複した重複したJARファイルを識別し、排除するのにも役立ちました。

関連する問題