これは少し難しいですが、WSS4CFの経験を持つ人が、私が何をしているのかを正確に知ってくれることを願っています。
リモートWebサービスにアクセスしようとしていますが、ユーザー名/パスワードを使用したWSSecurityが必要です。SOAP +<cfhttp>
をいじってクラスの問題に遭遇した後、同僚はWSS4CFを見てみることを提案しました。これらの追加のjarファイルなどを処理する必要がないようにするために必要なもののように見えました。
提供された例はなく、cfc(ここに表示)は、引数を使用してメソッドを呼び出すだけのdotNetSOAPサービスのようなもので動作するように構成されているように見えることに気付きました。
<cfinvoke
webservice="https://service.gov.au/OrgService.svc?WSDL"
refreshwsdl="true"
method="Search"
returnvariable="aSearch">
<cfinvokeargument name="request" value="#arguments.sXML#"/>
</cfinvoke>
WSS4CFは、最初に安全なWebサービスを作成し、次にその安全な環境内で要求を行うことによって機能します。上記のコードを試しましたが、機能しません(期待していませんでした)。サービスは、引数を使用したメソッド呼び出しではなく、xmlパケットを予期しています。
それをいじるのではなく、cfhttpで動作するように構成する必要があります。ここで、cfhttpparamでxmlエンベロープを渡します(例:次のように)。
<cfhttp
url="/service.gov.au/OrgService.svc?WSDL"
method="post">
<cfhttpparam type="header" name="content-type" value="application/soap+xml" /><!---text/xml--->
<cfhttpparam type="header" name="SOAPAction" value="http://service.gov.au/services/IOrgService/Search"/>
<cfhttpparam type="header" name="accept-encoding" value="no-compression" />
<cfhttpparam type="xml" value="#trim(sXML)#"/>
</cfhttp>
これを行うための助けをいただければ幸いです。興味がない限り、図書館を研究することは期待していません。WSS4CFで働いていた誰かがいくつかのインスピレーションを提供できることをもっと望んでいます。