Hallo nach etwas recherche habe ich heraus gefunden das ich wohl hier richtiger bin und das es an der Annotaion des Webservice oder an der web.xml und an der sun-jaxws.xml liegen muss.
Ich habe jetzt einiges um gestellt, aber es funktioniert gar nichts mehr. Also in meinem Glassfish wird der Services nicht mal erkannt und angezeigt. Kann mir jemand sagen was an dem Daten falsch ist..
Hier mal ein Auszug aus meinem Programm.
web.xml
[XML]<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>Mein Webservice</display-name>
<listener>
<listener-class>
com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>WS1JaxWsServlet</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<!-- <load-on-startup>1</load-on-startup> -->
</servlet>
<servlet-mapping>
<servlet-name>WS1JaxWsServlet</servlet-name>
<url-pattern>/WS1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>WS2JaxWsServlet</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<!-- <load-on-startup>1</load-on-startup> -->
</servlet>
<servlet-mapping>
<servlet-name>WS2JaxWsServlet</servlet-name>
<url-pattern>/WS2</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>WS3JaxWsServlet</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<!-- <load-on-startup>1</load-on-startup> -->
</servlet>
<servlet-mapping>
<servlet-name>WS3JaxWsServlet</servlet-name>
<url-pattern>/WS3</url-pattern>
</servlet-mapping>
</web-app>[/XML]
sun-jaxws.xml:
[XML]<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"
version="2.0">
<endpoint name='WS1' implementation='com.pack.service.WS1Impl'
url-pattern='/WS1' wsdl="WEB-INF/wsdl/WS1.wsdl" />
<endpoint name='WS2' implementation='com.pack.service.WS2Impl'
url-pattern='/WS2' wsdl="WEB-INF/wsdl/WS2.wsdl" />
<endpoint name='WS3' implementation='com.pack.serviceWS3Impl'
url-pattern='/WS3' wsdl="WEB-INF/wsdl/WS3.wsdl" />
<!-- -->
<!-- -->
<!-- -->
</endpoints>[/XML]
hier eine implementierter WS
Java:In die Zwischenablage kopieren
@WebService ( serviceName = "WS1" , portName = "WS1SOAP" , targetNamespace = "http://test.net/Pack2/ws/Service" , endpointInterface = "net.test.pack2.ws.service.WS1" )
public class WS1Impl implements WS1{
@Override
public String echo ( String in) {
return "Webservice1 echo: " + in;
}
@Override
public DatenTyp getDaten ( net. test. ws. schema. Aufruf aufruf) {
return null ;
}
}
der vollständig halber eine der WSDL:
[XML]<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://test.net/ws/Service"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="WS1"
targetNamespace="http://test.net/WS/Service">
<wsdl:types>
<xsd:schema targetNamespace="http://test.net/WS/Service"
xmlns:Q2="http://test.net/WS/Schema">
<xsd:import schemaLocation="WS1.xsd" namespace="http://test.net/WS/Schema"></xsd:import>
<xsd:element name="echo">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="in" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="echoResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="out" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="getDaten" type="Q2:aufruf">
</xsd:element>
<xsd:element name="getResponse"
type="Q2:daten">
</xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="echoRequest">
<wsdl
art element="tns:echo" name="StringToEcho" />
</wsdl:message>
<wsdl:message name="echoResponse">
<wsdl
art element="tns:echoResponse" name="EchoString" />
</wsdl:message>
<wsdl:message name="getDatenRequest">
<wsdl
art name="aufruf" element="tns:getDaten"></wsdl
art>
</wsdl:message>
<wsdl:message name="getDatenResponse">
<wsdl
art name="stammdaten" element="tns:getDatenResponse"></wsdl
art>
</wsdl:message>
<wsdl
ortType name="WS1">
<wsdl
peration name="echo">
<wsdl:input message="tns:echoRequest" />
<wsdl
utput message="tns:echoResponse" />
</wsdl
peration>
<wsdl
peration name="getDaten">
<wsdl:input message="tns:getDatenRequest"></wsdl:input>
<wsdl
utput message="tns:getDatenResponse"></wsdl
utput>
</wsdl
peration>
</wsdl
ortType>
<wsdl:binding name="WS1SOAP"
type="tns:WS1">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl
peration name="echo">
<soap
peration
soapAction="http://test.net/ws/Service/echo" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl
utput>
<soap:body use="literal" />
</wsdl
utput>
</wsdl
peration>
<wsdl
peration name="getDaten">
<soap
peration
soapAction="http://test.net/ws/Service/getDaten" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl
utput>
<soap:body use="literal" />
</wsdl
utput>
</wsdl
peration>
</wsdl:binding>
<wsdl:service name="WS">
<wsdl
ort binding="tns:WS1SOAP" name="WS1SOAP">
<soap:address location="http://localhost:8080/ws" />
</wsdl
ort>
</wsdl:service>
</wsdl:definitions>
[/XML]