私はSOAPリクエストをポストするためにレトロフィットネットワークコントローラを使用しています。 @Bodyはorg.simpleframework.xmlを使用してクラス内にxmlを生成しています。ボディー最初にして石鹸::ヘッダークラス構造がorg.simpleframework.xmlを使用したRetrofit BodyクラスのXMLオーダー
@Root(name = "soap:Envelope")
@NamespaceList({
@Namespace(prefix = "soap", reference = ""),
@Namespace(prefix = "typ", reference = ""),
@Namespace(prefix = "ldb", reference = "")
})
public class RequestEnvelope {
@Element(name = "soap:Header")
RequestHeader requestHeader;
public void setRequestHeader(RequestHeader requestHeader) {
this.requestHeader = requestHeader;
}
public RequestHeader getRequestHeader() {
return requestHeader;
}
@Element(name = "soap:Body")
RequestBody requestBody;
public void setRequestBody(RequestBody requestBody) {
this.requestBody = requestBody;
}
public RequestBody getRequestBody() {
return requestBody;
}
}
を追っているように私が午前問題は、石鹸の構造として提出され、体内で生成されたXMLということです。これは、soap:Headerが最初である必要があるため、api呼び出しが失敗する原因となります。私は@Order(elements = {"soap:Header", "soap:Body"})
を使用しようとしましたが、アプリケーションはクラスにsoap:Headerまたはsoap:Bodyというラベルの要素がないことを伝えます。
私は以前このクラスを単一の要素で使用しましたが、複数の要素に問題があるようです。私が見ることができるところから、返品はアルファベット順に並べられています。
誰かが生成されたXMLでアルファベット順を停止する方法を知っていますか?私は過去にこの問題に直面し、YES、@Order注釈で問題が解決しない
おかげ
このソリューションは機能していません。 –