ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Service Bus開発者ガイド
11gリリース1 (11.1.1.7)
B61435-07
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

55 .Net 2.0とメッセージ・レベルのセキュリティ

この章では、.NET 2.0とOracle Service Bus間でメッセージ・レベルのセキュリティを構成する方法について説明します。

この章の内容は次のとおりです。

55.1 .NET 2.0とOracle Service Bus間のメッセージ・レベルのセキュリティ

Microsoft .NET 2.0フレームワークとOracle Service Busとの間でメッセージ・レベルのセキュリティを設定できます。メッセージ・レベルのセキュリティでは、Webサービス・クライアントがOracle Service Busプロキシ・サービスまたはビジネス・サービスとの接続を確立した後、プロキシ・サービスまたはビジネス・サービスがこのメッセージを処理する前にSOAPメッセージに対してセキュリティ・チェックが適用されます。

55.2 .NETとは

.NETフレームワークは、Microsoft Windowsオペレーティング・システムに追加することができるソフトウェア・コンポーネントです。一般的なプログラム要件に対してあらかじめコード化されたソリューションを提供し、このフレームワーク専用に記述されたプログラムの実行を管理します。

55.3 Oracle Service Busとの相互運用性のための.NETのメッセージ・レベル・セキュリティの構成

この項では、.NET 2.0およびOracle Service Busでメッセージ・レベルのセキュリティを構成するために必要な手順を説明します。


注意:

これらの手順を実行する前に、第52章「Webサービスのメッセージ・レベルでのセキュリティの構成」の手順に従って、Oracle Service Busに対してインバウンドとアウトバウンドのメッセージングを構成する必要があります。


.NETとOracle Service Bus間でメッセージ・レベルのセキュリティを構成するには

  1. Oracle Service Busのアウトバウンドおよびインバウンド・メッセージングを構成する手順が完了していることを確認します。手順については、上記の警告を参照してください。

  2. http://msdn2.microsoft.com/en-us/webservicesからWeb Service Enhancements (WSE)3.0をダウンロードしてインストールします。WSE 3.0はSOAPの拡張が管理する.NET 2.0フレームワークと互換性があるAPI(Microsoft.Web.Services3.dll)です。

  3. WSE 3.0のインストール後に、使用するWebアプリケーションでWSEを有効にし、またWSE Soap Protocol Factoryのサポートを有効にする必要があります。この2つの機能はVisual Studioのウィザードを使用して有効にできます。詳細は、http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wse3.0/html/5a8f03b1-16ac-4c5c-9d9e-132a9c0b628a.aspを参照してください。

    WSE 3.0を有効にすると、次の制限が生じます。

    • WSE 3.0ではWS-Policyがサポートされていません。そのため、.NET 1.1とWSE 2.0のときのような構成を目的とするWS-SecurityPolicyもサポートされません。WSE 3.0でサポートされるのは、WSE 2.0と同様の機能を提供するwse3policyCache.configファイル(または同等の.NETコード)を使用して構成された独自のポリシーに限られます。この変更の結果、.NET WebサービスのWSDLにWS-Policy文は含まれなくなりました。一方、Oracle Service Busでは、2002年12月18日バージョンのWebサービス・セキュリティ・ポリシー言語(WS-SecurityPolicy)仕様に記述されたアサーションに基づく、Oracle WebLogic Server独自の形式をサポートしています。Oracle Service Busで.NET WSDLを利用するには、WSDLに同等のOracle Service Bus独自バージョンのWS-Policyを組み込む必要があります。

      例55-1のWSDLコード・サンプルは、Oracle Service Busにおけるメッセージ・レベルのID伝播、機密性、および整合性をWS-Policyに構成する方法を示します。

    • WSE 3.0ではwse3policyCache.configファイルに複数の設定不要のセキュリティ・アサーション用のポリシー構成が用意されており、Visual Studioのウィザードを使用して選択できます。提供されているメッセージ・レベル・セキュリティ(暗号化や署名など)にマップする証明書は、MutualCertificate10です。MutualCertificate10セキュリティ・アサーションの構成については、http://msdn2.microsoft.com/en-us/library/aa480581.aspxを参照してください。

    • WSE Soap Protocol FactoryはSOAP 1.2にあるセキュリティをサポートしません。Visual Studioの「Web Reference」オプションを使用して生成されたクライアント・スタブには、SOAP 1.1を選択した場合にのみセキュリティに対応した操作が含まれます。メッセージ・レベルのセキュリティの相互運用性は、SOAP 1.1でのみ機能します。

    • .NET 1.1とWSE 2.0の場合と同じように、デフォルトで構成されているWS-Addressingヘッダーとタイムスタンプの自動署名機能を無効にする必要があります。次の例に示すように、wse3policyCache.configファイルにあるプロパティの一部を変更してください。

      デフォルトのConfig

      <protection>
           <request signatureOptions="IncludeAddressing, IncludeTimestamp,
                IncludeSoapBody" encryptBody="true" />
           <response signatureOptions="IncludeAddressing, IncludeTimestamp,
                IncludeSoapBody" encryptBody="true" />
           <fault signatureOptions="IncludeAddressing, IncludeTimestamp,
                IncludeSoapBody" encryptBody="false" />
      </protection>
      

      必要とされるConfig

      <protection>
           <request signatureOptions="IncludeSoapBody" encryptBody="true" />
          <response signatureOptions="IncludeAddressing, IncludeTimestamp, IncludeSoapBody" encryptBody="true"
               />
          <fault signatureOptions="IncludeSoapBody" encryptBody="false" />
      </protection> 
      
    • デフォルトでは、WSE 3.0は鍵のラッピング・アルゴリズムとしてOAEPを想定しています。ただし、Oracle Service BusではRSA15アルゴリズムを使用します。構成がOAEPのままの場合、「Microsoft.Web.Services3.Security.SecurityFault: An unsupported signature or encryption algorithm was used System.Exception: WSE3002: The receiver is expecting the key wrapping algorithm to be http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p, but the incoming message usedhttp://www.w3.org/2001/04/xmlenc#rsa-1_5.」という例外が表示されます。セキュリティ・トークン・マネージャを構成することで、鍵のラッピング・アルゴリズムを変更できます。

      このエラーを回避するには、次の構成を<microsoft.web.services3> <security>要素の下にあるweb.configファイル(.NET Webサービス上)、およびapp.configファイル(.NETのクライアント側)に追加します。

      <binarySecurityTokenManager>
           <add valueType="http://docs.oasis-open.org/wss/2004/01/
                oasis-200401-wss-x509-token-profile-1.0#X509v3";>
                <keyAlgorithm name="RSA15" />
           </add>
      </binarySecurityTokenManager> 
      

      この構成により、WSEではOAEPではなくRSA15が強制的に使用されるようになります。

    • ユーザー名のトークン認証の場合、.NETによって設定不要のアサーションusernameForCertificateSecurityが提供されます。このアサーションは、サービスのX.509証明書を使用して、クライアントとサービス間の通信チャネルをメッセージ・レイヤーで保護します。ただし、この証明書は<EncryptedKey>要素をセキュリティ・トークンとして参照する機能に依存し、署名確認のオプションが、レスポンス・メッセージとそれを引き起こしたリクエストを関連付けられるようにします。

      ユーザー名トークン認証のかわりとして、.NETには設定不要のアサーションusernameOverTransportSecurityがあります。このアサーションではクライアントとサービスとの間の通信がトランスポート・レイヤーでセキュリティで保護されていることが前提となっています。このアプローチは、WS-Security互換であり、SSLを介したメッセージ・レベルの認証をサポートします。設定不要のアサーションusernameOverTransportSecurityを暗号化や署名といった他のメッセージ・レベルのセキュリティ・メカニズムと組み合せる場合は、.NETでカスタム・コードを作成する必要があります。

55.4 Oracle Service Busの.NETとのメッセージ・レベルのセキュリティの構成

Oracle Service Busの構成を行う前に、次の条件を満たしている必要があります。

Oracle Service Busに.NETとのメッセージ・レベルのセキュリティを構成するには

  1. 次のように、暗号化アルゴリズムをtripledes-cbcからaes256-cbcに変更します。

    <wssp:EncryptionAlgorithm URI="http://www.w3.org/2001/                       04/xmlenc#aes256-cbc"/>
    
  2. WSDLのsign.xmlポリシーを変更します。この属性は、整合性アサーション要素にあります。

    <wssp:Integrity SignToken='false' .... > 
    ... 
    </wssp:Integrity> 
    

    この値はデフォルトではtrueになっています。

  3. .NET Webサービスでは、WS-Addressingの<wsa:To>要素に自身のURLが含まれていることが想定されています。.NETクライアントが初めてOracle Service Busプロキシを呼び出すときに、<wsa:To>要素は最初はOracle Service BusプロキシのURLに設定されます。このURLをOracle Service Busのプロキシ・メッセージ・フローにある.NET WebサービスのURLに変更します。それには、次の例に示すようにReplaceアクションを使用します。

    元のURL

    <wsa:To wsu:Id="To_1mbmRK4w0bo2Dz1z" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
    wssecurity-utility-1.0.xsd";>http://localhost:7001/SecurityALSBProxy<;/
    wsa:To>
    

    置換アクション後のURL

    <wsa:To wsu:Id="To_1mbmRK4w0bo2Dz1z" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
    wssecurity-utility-1.0.xsd";>http://localhost/SimpleSecurity/
    SecurityService.asmx<;/wsa:To>
    

    このURLを変更しないと、次のエラーが表示されます。

    Microsoft.Web.Services3.Addressing.AddressingFault: Destination Unreachable System.Exception: WSE846: The header must match the actor URI value of the web service. The actor URI value can be explicitly specified using SoapActorAttribute on the ASMX class. In the absence of the attribute, the actor URI is assumed to be equal to the HTTP Request Url of the incoming message. The header received contained "http://localhost:7001/SecurityALSBProxy"; while the receiver is expecting "http://localhost/SimpleSecurity/SecurityService.asmx";
    
  4. .NETクライアントには、SOAPヘッダーに対する自身のTimestamp要素が含まれています。Oracle Service Busは余分なTimestampヘッダーを追加するため、次のエラーが発生します。

    Microsoft.Web.Services3.Security.SecurityFault: An error was discovered
    processing the header Microsoft.Web.Services3.Security.Security
    FormatException: WSE001: The input was not a valid Security element
    because it contains more than one Timestamp child element.
    

    この問題を解決するには、削除アクションを使用して.NETクライアントがメッセージ・フローに追加した元のTimestamp要素を削除します。

  5. CertificateRegistry証明書パス・プロバイダを追加します。これを追加するには、WLS管理コンソールからレルム「プロバイダ」「証明書のパス」「新規」の順に選択し、使用可能なオプションからCertificateRegistryを選択します。

    変更をアクティブ化し、サーバーを再起動します。

    サーバーの再起動後、新規に作成したCertificateRegistryを編集します。「管理」タブで、次の3つの証明書を追加します。

    • Oracle Service Busのパブリック証明書

    • .NETのパブリック証明書

    • ルート・エージェント(これらの証明書の発行者)


      注意:

      証明書を追加する方法の1つは、「移行」タブからJKSストアをインポートすることです。IDストアの実際のパスを指定します。


  6. CertificateRegistryプロバイダの「構成(一般)」タブで、「現在のビルダー」を選択して、これを現在のビルダーに設定します。

    変更を保存します。次にサーバーをアクティブ化し、再起動します。

  7. WLSキーストアでは次の同じ証明書が必要です。

    • Oracle Service Busのパブリック証明書

    • .NETのパブリック証明書

    • ルート・エージェント(これらの証明書の発行者)

    Oracle WebLogic ServerインスタンスのIDおよびトラスト・キーストアは、サーバー構成のキーストアのページで構成します。これを行うには、Oracle WebLogic Serverオンライン・ヘルプの「IDとトラストの構成」を参照してください。

55.4.1 サンプルのWSDLファイル

例55-1のWSDLサンプルは、Oracle Service Busにおけるメッセージ・レベルのID伝播、機密性、および整合性をWS-Policyに構成する方法を示します。

例55-1 メッセージ・レベルのセキュリティのWS-Policyへの構成

<?xml version='1.0' encoding='UTF-8'?>
<definitions name="SecureHello WorldServiceDefinitions"targetNamespace=
     "http://www.bea.com"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:s0="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
     wssecurity-utility-1.0.xsd"
xmlns:s1="http://www.bea.com"
xmlns:s2="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
     <wsp:UsingPolicy xmlns:n1="http://schemas.xmlsoap.org/wsdl/"
          n1:Required="true"/>
     <wsp:Policy s0:Id="Encrypt.xml">
          <wssp:Confidentialityxmlns:wssp="http://www.bea.com/wls90/
               security/policy">
               <wssp:KeyWrappingAlgorithm URI="http://www.w3.org/2001/04/
                    xmlenc#rsa-1_5"/>
               <wssp:Target>
                        <wssp:EncryptionAlgorithm URI="http://www.w3.org/2001/ 
                        04/xmlenc#aes256-cbc"/>
                   <wssp:MessageParts Dialect="http://schemas.xmlsoap.org
                        /2002/12/wsse#part">wsp:Body()
                        </wssp:MessageParts>
               </wssp:Target>
               <wssp:KeyInfo>
                     <wssp:SecurityToken TokenType="http://docs.oasis-open.
                         org/wss/2004/01/oasis-200401-wss-x509-token-
                         profile-1.0#X509v3"/>
                    <wssp:SecurityTokenReference>
                         <wssp:Embedded>
                              <wsse:BinarySecurityToken EncodingType="http:
                                  //docs.oasis-open.org/wss/2004/
                                  01/oasis-200401-wss-soap-message
                                  -security-1.0#Base64Binary"
                                  ValueType="http://docs.oasis-open.org/
                                  wss/2004/01/oasis-200401-wss-x509
                                  -token-profile-1.0#X509v3"
                                  xmlns:wsse="http://docs.oasis-open.org/
                                  wss/2004/01/oasis-200401-wss-wssecurity-
                                  secext-1.0.xsd">MIIB7DCCAZYCEN+FHomYRZU
                                  YPLiIutc0lIIwDQYJKoZIhvcNAQEEBQAweTELMAk
                                  GA1UEBhMCVVMxEDAOBgNVBAgTB015U3RhdGUxDzA
                                  NBgNVBAcTBk15VG93bjEXMBUGA1UEChMOTXlPcmd
                                  hbml6YXRpb24xGTAXBgNVBAsTEEZPUiBURVNUSU5
                                  HIE9OTFkxEzARBgNVBAMTCkNlcnRHZW5DQUIwHhc
                                  NMDYwNjA3MDQ0MDM2WhcNMjEwNjA4MDQ0MDM2WjB
                                  6MQswCQYDVQQGEwJVUzEQMA4GA1UECBYHTXlTdGF
                                  0ZTEPMA0GA1UEBxYGTXlUb3duMRcwFQYDVQQKFg5
                                  NeU9yZ2FuaXphdGlvbjEZMBcGA1UECxYQRk9SIFR
                                  FU1RJTkcgT05MWTEUMBIGA1UEAxYLYmFuZ3BsdHc
                                  zazIwXDANBgkqhkiG9w0BAQEFAANLADBIAkEAxv2
                                  nWByAF2Xr9wrb06ydrrcqPt2VQa0xcwfdZZ6oGlj
                                  1TXq+G5/Q82v7CdxjyWUQBuAzduQx9wFCrAe/aWV
                                  pgQIDAQABMA0GCSqGSIb3DQEBBAUAA0EARbwfl8w
                                  X915jL5reY+isriNF0EfUs5ck53WRNowiapJx2ea
                                  ZE03quksJgeJ0z0HekkR/aTQnkMV1xIt1HxMKRw=
                                  =</wsse:BinarySecurityToken>
                         </wssp:Embedded>
                    </wssp:SecurityTokenReference>
               </wssp:KeyInfo>
          </wssp:Confidentiality>
     </wsp:Policy>
     <wsp:Policy s0:Id="Auth.xml">
          <wssp:Identity xmlns:wssp="http://www.bea.com/wls90/security/
          policy">
               <wssp:SupportedTokens>
                    <wssp:SecurityToken TokenType="http://docs.oasis-open.
                         org/wss/2004/01/oasis-200401-wss-username-token
                         -profile-1.0#UsernameToken">
                         <wssp:UsePassword Type="http://docs.oasis-open.
                              org/wss/2004/01/oasis-200401-wss-username
                              -token-profile-1.0#PasswordText"/>
                    </wssp:SecurityToken>
               </wssp:SupportedTokens>
          </wssp:Identity>
     </wsp:Policy>
     <wsp:Policy s0:Id="Sign.xml">
          <wssp:Integrity SignToken='false' xmlns:wls="http://www.bea.com/wls90/security/
               policy/wsee#part"xmlns:wssp="http://www.bea.com/wls90/
               security/policy" xmlns:wsu="http://docs.oasis-open.org/wss
               /2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
               <wssp:SignatureAlgorithm URI="http://www.w3.org/2000/09/
                    xmldsig#rsa-sha1"/>
               <wssp:CanonicalizationAlgorithm URI="http://www.w3.org/
                    2001/10/ xml-exc-c14n#"/>
               <wssp:Target>
                    <wssp:DigestAlgorithm URI="http://www.w3.org/2000/09
                         /xmldsig#sha1"/>
                    <wssp:MessageParts Dialect="http://www.bea.com/wls90/
                         security/policy/wsee#part">
                    wls:SystemHeaders()
               </wssp:MessageParts>
               </wssp:Target>
               <wssp:Target>
                    <wssp:DigestAlgorithm URI="http://www.w3.org/2000/09
                         /xmldsig#sha1"/>
                    <wssp:MessageParts Dialect="http://www.bea.com/wls90/
                         security/policy/wsee#part"> 
                    wls:SecurityHeader(wsu:Timestamp)
               </wssp:MessageParts>
               </wssp:Target>
               <wssp:Target>
                    <wssp:DigestAlgorithm URI="http://www.w3.org/2000/09/
                         xmldsig#sha1"/>
                    <wssp:MessageParts Dialect="http://schemas.xmlsoap.
                         org/2002/12/wsse#part">
               wsp:Body()
               </wssp:MessageParts>
               </wssp:Target>
               <wssp:SupportedTokens>
                    <wssp:SecurityToken IncludeInMessage="true" TokenType=
                         "http://docs.oasis-open.org/wss/2004/01/oasis-
                         200401-wss-x509-token-profile-1.0#X509v3">
                         <wssp:TokenIssuer>CN=CACERT,OU=FOR TESTING ONLY,
                         O=MyOrganization,L=MyTown,ST=MyState,C=US,1.2.
                         840.113549.1.9.1=#160f737570706f7274406265612e636
                         f6d,CN=Demo Certificate Authority Constraints,OU=
                         Security,O=BEA WebLogic,L=San Francisco,ST=
                         California,C=US,1.2.840.113549.1.9.1=#16107365637
                         572697479406265612e636f6d,CN=Demo Certificate
                         Authority Constraints,OU=Security,O=BEA WebLogic,
                         L=San Francisco,ST=California,C=US,CN=CertGenCAB,
                         OU=FOR TESTING ONLY,O=MyOrganization,L=MyTown,ST=
                         MyState,C=US,CN=Equifax Secure eBusiness CA-1,O=
                         Equifax Secure Inc.,C=US,CN=VeriSign Class 1
                         Public Primary Certification Authority - G3,OU=
                         (c)1999 VeriSign\, Inc. - For authorized use only,
                         OU=VeriSign Trust Network,O=VeriSign\, Inc.,C=US,
                         OU=VeriSign Trust Network,OU=(c) 1998 VeriSign\,
                         Inc. - For authorized use only,OU=Class 2 Public
                         Primary Certification Authority - G2,O=VeriSign\,
                         Inc.,C=US,CN=VeriSign Class 3 Public Primary
                         Certification Authority - G3,OU=(c) 1999
                         VeriSign\,Inc. - For authorized use only,OU=
                         VeriSign Trust Network,O=VeriSign\,Inc.,C=US,CN=
                         Entrust.net Client Certification Authority,OU=(c)
                         2000 Entrust.net Limited,OU=www.entrust.net/
                         GCCA_CPS incorp. by ref. (limits liab.),O=Entrust
                         .net,OU=Go Daddy Class 2 Certification Authority,
                         O=The Go Daddy Group\, Inc.,C=US,CN=GTE Cyber
                         Trust Global Root,OU=GTE CyberTrust Solutions\,
                         Inc., O=GTE Corporation,C=US,CN=Entrust.net
                         Secure Server Certification Authority,OU=(c) 2000
                         Entrust.net Limited,OU=www.entrust.net/SSL_CPS
                         incorp. by ref. (limits liab.),O=Entrust.net,OU=
                         Class 1 Public Primary Certification Authority,
                         O=VeriSign\, Inc.,C=US,1.2.840.113549.1.9.1=#161
                         9706572736f6e616c2d6261736963407468617774652e636
                         f6d,CN=Thawte Personal Basic CA,OU=Certification
                         Services Division,O=Thawte Consulting,L=Cape
                         Town, ST=Western Cape,C=ZA,OU=VeriSign Trust
                         Network, OU=(c) 1998 VeriSign\, Inc. - For
                         authorized use only,OU=Class 1 Public Primary
                         Certification Authority - G2,O=VeriSign\, Inc.,
                         C=US,CN=Entrust.net Secure Server Certification
                         Authority,OU=(c) 1999 Entrust.net Limited,OU=
                         www.entrust.net/CPS incorp. by ref.(limits iab.),
                         O=Entrust.net,C=US, 1.2.840.113549.1.9.1=#161c706
                         572736f6e616c2d667265656d61696c407468617774652e63
                         6f6d,CN=Thawte Personal Freemail CA,OU=
                         Certification Services Div,O=Thawte Consulting, L
                         =Cape Town,ST=Western Cape,C=ZA,OU=Class 3 Public
                         Primary Certification Authority,O=VeriSign\, Inc.
                         C=US,CN=GTE CyberTrust Root,O=GTE Corporation,C=
                         US,CN=VeriSign Class 2 Public Primary Certificate
                         Authority - G3,OU=(c) 1999 VeriSign\, Inc. - For
                         authorized use only,OU=VeriSign Trust Network,O=
                         VeriSign\,Inc.,C=US,1.2.840.113549.1.9.1=#1617736
                         5727665722d6365727473407468617774652e636f6d,CN=
                         Thawte Server CA,OU=Certification Services
                         Division,O=Thawte Consulting cc,L=Cape Town,ST=
                         Western Cape,C=ZA,OU=Equifax Secure Certificate
                         Authority,O=Equifax,C=US,1.2.840.113549.1.9.1=#16
                         1b706572736f6e616c2d7072656d69756d407468617774652
                         e636f6d,CN=Thawte Personal Premium CA,OU=
                         Certification Services Division,O=Thawte
                         Consulting,L=Cape Town,ST=Western Cape,C=ZA,1.2.
                         840.113549.1.9.1=#16197072656d69756d2d73657276657
                         2407468617774652e636f6d,CN=Thawte Premium Server
                         CA,OU=Certification Services Division,O=Thawte
                         Consulting cc,L=Cape Town,ST=Western Cape,C=ZA,
                         OU=VeriSign Trust Network,OU=(c) 1998 VeriSign\,
                         Inc. - For authorized use only,OU=Class 3 Public
                         Primary Certification Authority - G2,O=VeriSign\,
                         Inc.,C=US,CN=Entrust.net Certification Authority
                         (2048),OU=(c) 1999 Entrust.net Limited,OU=www
                         .entrust.net/CPS_2048 incorp. by ref. (limits
                         liab.),O=Entrust.net,1.2.840.113549.1.9.1=#1611
                         696e666f4076616c69636572742e636f6d,CN=http://www.
                         valicert.com/,OU=ValiCert Class 2 Policy
                         Validation Authority,O=ValiCert\, Inc.,L=Vali
                         cert Validation Network,CN=Baltimore CyberTrust
                         Root, OU=CyberTrust,O=Baltimore,C=IE,OU=Secure
                         Server Certification Authority,O=RSA Data
                         Security\, Inc.,C=US,CN=Entrust.net Client
                         Cert Authority,OU=(c) 1999 Entrust.net Limited,
                         OU=www.entrust.net/Client_CA_Info/CPS incorp. by
                         ref. limits liab.,O=Entrust.net,C=US,CN=GeoTrust
                         Global CA,O=GeoTrust Inc.,C=US,CN=GTE CyberTrust
                         Root 5,OU=GTE CyberTrust Solutions\, Inc.,O=GTE
                         Corporation,C=US,OU=Starfield Class 2
                         Certification Authority,O=Starfield 
                         Technologies\, Inc.,C=US,CN=Equifax Secure 
                         Global eBusiness CA-1,O=Equifax Secure Inc.,C=US,
                         CN=Baltimore CyberTrust Code Signing Root,OU=
                         CyberTrust,O=Baltimore,C=IE,OU=Class 2 Public
                         Primary Certification Authority,O=VeriSign\,
                         Inc.,C=US,OU=Equifax Secure eBusiness CA-2,O=
                         Equifax Secure,C=US,</wssp:TokenIssuer>
                    </wssp:SecurityToken>
               </wssp:SupportedTokens>
          </wssp:Integrity>
          <wssp:MessageAge Age="60" xmlns:wssp="http://www.bea.com/wls90/
               security/policy"/>
     </wsp:Policy>
     <types>
          <xs:schema attributeFormDefault="unqualified" elementFormDefault=
               "qualified" targetNamespace="http://www.bea.com" xmlns:s0="
               http://www.bea.com" xmlns:s1="http://schemas.xmlsoap.org
               /wsdl/soap/" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/
               09/policy" xmlns:xs="http://www.w3.org/2001/XMLSchema">
               <xs:element name="sayHello">
                    <xs:complexType>
                         <xs:sequence>
                             <xs:element name="s" type="xs:string"/>
                         </xs:sequence>
                    </xs:complexType>
               </xs:element>
               <xs:element name="sayHelloResponse">
                    <xs:complexType>
                         <xs:sequence>
                              <xs:element name="return" type="xs:string"/>
                         </xs:sequence>
                    </xs:complexType>
               </xs:element>
          </xs:schema>
     </types>
     <message name="sayHello">
          <part element="s1:sayHello" name="parameters"/>
     </message>
     <message name="sayHelloResponse">
          <part element="s1:sayHelloResponse" name="parameters"/>
     </message>
     <portType name="SecureHelloWorldPortType" wsp:PolicyURIs="#Sign.xml
          #Auth.xml #Encrypt.xml">
          <operation name="sayHello" parameterOrder="parameters">
               <input message="s1:sayHello"/>
               <output message="s1:sayHelloResponse"/>
          </operation>
     </portType>
     <binding name="SecureHelloWorldServiceSoapBinding" type="s1:
          SecureHelloWorldPortType">
          <s2:binding style="document" transport="http://schemas.
               xmlsoap.org/ soap/http"/>
               <operation name="sayHello">
                    <s2:operation soapAction="" style="document"/>
                    <input>
                         <s2:body parts="parameters" use="literal"/>
                    </input>
                    <output>
                          <s2:body parts="parameters" use="literal"/>
                    </output>
               </operation>
          </binding>
          <service name="SecureHelloWorldService">
               <port binding="s1:SecureHelloWorldServiceSoapBinding"
                    name="SecureHelloWorldServicePort">
                    <s2:address location="http://localhost:9111/
                         SecureHelloWorldService/SecureHelloWorld
                         Service"/>
               </port>
          </service>
     </definitions>