# JAX-WS Bindin-Probleme



## Ketzler (5. Dez 2015)

Hallo,

ich versuche einen Webservice nach dem Contract-first-Prinzip zu erstellen und habe beim kompelieren folgende Fehlermeldung erhalten:



> ERROR: wsdl:binding "{http://notenspiegel.ws/}NotenspiegelServerSOAPBinding" nicht in WSDL gefuden: ...(pfad zur WSDL)



Ich habe versucht das Binding umzubenennen etc... Aber hat nichts gebracht. Habe auch daran gedacht, dass es an den Namespaces liege könnte, doch sehen die für mich gut aus...

Vielen Dank um Hilfe.


```
<wsdl:definitions name="NotenServer"
xmlns:tnsd="http://domain.notenspiegel.ws/"
xmlns:tns="http://notenspiegel.ws/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
targetNamespace="http://domain.notenspiegel.ws/">
    <wsdl:types>
        <xsd:schema targetNamespace="http://domain.notenspiegel.ws/">
            <xsd:element name="Notenliste">
                <xsd:complexType>
                    <xsd:complexContent>
                        <xsd:extension base="tnsd:linkedList">
                            <xsd:sequence>
                                <xsd:element name="Notenliste" type="tnsd:NotenspiegelElement" />
                            </xsd:sequence>
                        </xsd:extension>
                    </xsd:complexContent>
                </xsd:complexType>
            </xsd:element>
            <element name="Notenspiegelliste">
                <xsd:complexType>
                    <xsd:complexContent>
                        <xsd:extension base="tnsd:linkedList">
                            <xsd:sequence>   
                                <xsd:element name="Notenspiegelliste" type="tnsd:NotenspiegelElement" />
                            </xsd:sequence>
                        </xsd:extension>
                    </xsd:complexContent>
                </xsd:complexType>
            </element>
            <xsd:complexType name="NotenspiegelElement">
                <xsd:sequence>
                    <xsd:element name="Note" type="xsd:double" />
                    <xsd:element name="Anzahl" type="xsd:double" />
                </xsd:sequence>
            </xsd:complexType>
            <xsd:element name="Durchschnittsnote">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element type="xsd:double" name="Durchschnitt"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:complexType name="linkedList">
                <xsd:complexContent>
                    <xsd:extension base="tnsd:abstractSequentialList">
                        <xsd:sequence/>
                    </xsd:extension>
                </xsd:complexContent>
            </xsd:complexType>
            <xsd:complexType name="abstractSequentialList" abstract="true">
                <xsd:complexContent>
                    <xsd:extension base="tnsd:abstractList">
                        <xsd:sequence/>
                    </xsd:extension>
                </xsd:complexContent>
            </xsd:complexType>
            <xsd:complexType name="abstractList" abstract="true">
                <xsd:complexContent>
                    <xsd:extension base="tnsd:abstractCollection">
                        <xsd:sequence/>
                    </xsd:extension>
                </xsd:complexContent>
            </xsd:complexType>
            <xsd:complexType name="abstractCollection" abstract="true">
                <xsd:sequence/>
            </xsd:complexType>
        </xsd:schema>
    </wsdl:types>
    <wsdl:message name="notenspiegelRequest">
        <wsdl:part name = "in" element="tnsd:Notenliste"/>
    </wsdl:message>
    <wsdl:message name="notenspiegelResponse">
        <wsdl:part name = "notenspiegel" element="tnsd:Notenspiegelliste"/>
        <wsdl:part name = "durchschnitt" element="tnsd:Durchschnittsnote"/>
    </wsdl:message>
    <wsdl:portType name="NotenspiegelServer">
        <wsdl:operation name="notenspiegel">
            <wsdl:input message="tns:notenspiegelRequest"/>
            <wsdl:output message="tns:notenspiegelResponse"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding type="tns:NotenspiegelServer" name="NotenspiegelServerSOAPBinding">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="notenspiegel" soapAction="http://notenspiegel.ws/notenspiegel">
            <wsdl:input>
                <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="NotenspiegelWebService">
        <wsdl:port name="NotenspiegelServerSOAP" binding="tns:NotenspiegelServerSOAPBinding">
            <soap:address location="http://localhost:8080/NotenspiegelServer"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>
```

Vielen Dank


----------



## jstei001 (19. Feb 2016)

Dein NotenSpiegelServerSOAPBinding sollte den targetNamespace haben. Du definierst es aber mit dem tns Namespace, welcher ein anderer ist.


----------

