4

XForms インスタンスをSOAPAttach添付ファイルとして Web サービスに送信したいと考えています。ただし、XForms 1.1 仕様から:

  • 11.11.3 SOAP HTTPバインディング

    SOAP HTTP バインディングにアクセスするには、のmethod属性をまたはに設定するsubmission 必要があります。getpost

    multipart-postこれは、メソッド (SOAPAttach に必要) を SOAP HTTP バインディングで使用できないことを意味していると理解していますか?

  • 11.9.6 multipart/related としてのシリアル化

    • 後続部品の要件

      • xsd:anyURIアップロードによって移入されたデータ型を持つノードごとに 1 つの部分:

    「アップロードによって移入される」と明示的に述べられているため、XML インスタンス データまたはその他の生成されたコンテンツは、(SOAPAttach の要件に反して) 最初のボディ パーツにしか表示されないことを意味すると解釈します。

これらの制限のそれぞれが、XForms インスタンスをそのような添付ファイルとして (ネイティブに) 送信することを不可能にしていることを理解しているのは正しいですか? したがって、そのようなシリアル化を自分で生成する必要があります (たとえば、xforms-submit-serializeイベントを処理することによって)? そうするための標準的な方法、または役立つライブラリはありますか?

4

1 に答える 1

2

私は SOAP の専門家ではありませんが、あなたの言う通りだと思います。

Orbeon Forms は、送信するインスタンスのノードにコントロールがバインドされていることを確認することで、「アップロードによる移入」要件を処理しxforms:uploadます。そのため、今のところ、残念ながら XForms 1.1 はアップロードに結び付けられていると思います。

一方、ご指摘のとおり、multipart/relatedアップロードされたファイルを添付ファイルとしてすでにサポートしているはずなので、XForms の実装がこれをネイティブに実行できるようになるとは思えません。

独自のシリアル化を行うのは大変な作業のようです。

于 2012-05-03T05:54:04.090 に答える