WSP0075: Richtlinienzusicherung "TransportBinding" wurde mit "UNBEKANNT" bewertet. Warum

Ich bin ein Client für einen SOAP-Dienst, den ich nicht steuere (in .NET implementiert). Der Dienst stellt eine WSDL bereit. Ich benutze Apache CXF, um den Java-Client aus der WSDL zu generiere

Wenn ich jedoch die generierte Serviceklasse instanziiere, werden die folgenden Warnungen protokolliert:

Sep 04, 2014 5:18:00 PM [com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector]  selectAlternatives
WARNING: WSP0075: Policy assertion "{http://schemas.xmlsoap.org/ws/2005/07/securitypolicy}TransportBinding" was evaluated as "UNKNOWN".
Sep 04, 2014 5:18:00 PM [com.sun.xml.internal.ws.policy.EffectiveAlternativeSelector]  selectAlternatives
WARNING: WSP0019: Suboptimal policy alternative selected on the client side with fitness "UNKNOWN".

Der Client funktioniert jedoch ordnungsgemäß. Ich habe keine Probleme mit der Verwendung des Dienstes. Ich bin jedoch verwirrt über diese Fehler.

Der Fehler bezieht sich auf diese Sicherheitsrichtlinie in der WSDL, die meines Erachtens nicht verstanden werden kann:

<wsp:Policy wsu:Id="soap11_policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
  <wsp:ExactlyOne>
    <wsp:All>
      <sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
        <wsp:Policy>
          <sp:TransportToken>
            <wsp:Policy>
              <sp:HttpsToken RequireClientCertificate="false"/>
            </wsp:Policy>
          </sp:TransportToken>
          <sp:AlgorithmSuite>
            <wsp:Policy>
              <sp:Basic256/>
            </wsp:Policy>
          </sp:AlgorithmSuite>
          <sp:Layout>
            <wsp:Policy>
              <sp:Strict/>
            </wsp:Policy>
          </sp:Layout>
        </wsp:Policy>
      </sp:TransportBinding>
    </wsp:All>
  </wsp:ExactlyOne>
</wsp:Policy>

Soweit ich das beurteilen kann, handelt es sich jedoch um eine ganz normale Politik, die nichts Ungewöhnliches enthält. Sicher sollte es verstanden werden? Wie kann ich diese Warnung beheben?

Für den Datensatz ist hier angegeben, wie wsdl2java aufgerufen wird (Auszug aus pom.xml).

Das-exsh true arg undcxf-rt-bindings-soap Abhängigkeit sind, weil die WSDL einige implizite Soap-Header in ihren Argumenten verwendet, und ich brauche dies, damit sie ordnungsgemäß in den generierten Methoden der Serviceklasse enthalten sind.

Ich habe das @ hinzugefücxf-rt-ws-security undcxf-rt-ws-policy Abhängigkeiten, um diese Warnung zu beheben. Möglicherweise wurden die Sicherheits- und Richtlinieninformationen nicht berücksichtigt. Dies hat jedoch nichts behoben (hat aber auch nichts kaputt gemacht).

<plugin>
  <groupId>org.apache.cxf</groupId>
  <artifactId>cxf-codegen-plugin</artifactId>
  <version>3.0.1</version>
  <executions>
    <execution>
      <id>rh-soap-client-ssi</id>
      <phase>generate-sources</phase>
      <configuration>
        <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
        <wsdlOptions>
          <wsdlOption>
            <wsdl>https://example.org/ssi?wsdl</wsdl>
            <extraargs>
              <extraarg>-verbose</extraarg>
              <extraarg>-client</extraarg>
              <extraarg>-mark-generated</extraarg>
              <extraarg>-exsh</extraarg>
              <extraarg>true</extraarg>
              <extraarg>-autoNameResolution</extraarg>
            </extraargs>
          </wsdlOption>
        </wsdlOptions>
      </configuration>
      <goals>
        <goal>wsdl2java</goal>
      </goals>
    </execution>
  </executions>
  <dependencies>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-bindings-soap</artifactId>
      <version>3.0.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-ws-security</artifactId>
      <version>3.0.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-ws-policy</artifactId>
      <version>3.0.1</version>
    </dependency>
  </dependencies>
</plugin>

Antworten auf die Frage(3)

Ihre Antwort auf die Frage