質問

WSDLでは、2種類の、同じ名前、異なるケースがあります。loginResponseとloginResponse。

XFireを使用してJavaクラスを生成する場合は、1つのクラス、LoginResponseを生成するだけです。 LoginResponseを破棄します。

これを回避する方法は?

<s:element name="LoginResponse">
    <s:complexType>
      <s:sequence>
        <s:element minOccurs="0" maxOccurs="1" name="LoginResult" type="tns:LOGINRESPONSE" />
      </s:sequence>
    </s:complexType>
  </s:element>

  <s:complexType name="LOGINRESPONSE">
    <s:attribute name="Message" type="s:string" />
    <s:attribute name="Token" type="s:string" />
    <s:attribute name="DataFormat" type="s:string" />
    <s:attribute name="Header" type="s:boolean" use="required" />
    <s:attribute name="Suffix" type="s:boolean" use="required" />
  </s:complexType>
.

役に立ちましたか?

解決

WSDLで宣言されている名前は確かに大文字と小文字が区別されており、 Legal の場合だけである。しかし、それは悪い考えでなければなりません:

  • 確実に、読みやすさの観点から悪い考えです。(私は、Javaプログラムを書いていた場合、同じ名前空間に変数acataCatを宣言しない場合はどういう意味ですか。)

  • 大文字と小文字が区別されている間は、プログラミング言語のバインディングは、(Visual Basic I Beivel I Beivel Is)の大文字と小文字を区別します。言語のスタイルの規則。どちらの場合でも、文字ケースのみが異なるWSDL名は問題につながる可能性があります。

imo問題のための最良の長期修正は、名前だけが異なる要素、型などがないようにWSDLを変更することです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top