Espero que este problema es muy simple y es justo que yo sea un idiota. Soy nuevo en el JABÓN y estoy tratando de configurar un WebService SOAP (utilizando Java y Spring) y, a continuación, utilizando la herramienta SoapUI intento enviar una solicitud SOAP a mi servicio Web. Sin embargo siempre me sale el error 404 No Encontrado errores cuando puedo presentar mi solicitud. Sospecho /espero que me acaban de poner mi Extremo incorrectamente en SoapUI, pero no sé qué valor debo poner ahí. Alguien puede ayudar?

Estos son los pasos que yo he dado a configurar mi WebApp con JABÓN de apoyo:

1) estoy con una WebApp (que tiene existente RESTO de los Servicios Web) que se ejecuta en Spring Tool Suite (que está basado en Eclipse) y el uso de Jetty. En mi web.xml archivo he añadido un nuevo Servicio Web SOAP:

<servlet-mapping>
    <servlet-name>SOAPWebService</servlet-name>
    <url-pattern>/ws/SOAP/*</url-pattern>
</servlet-mapping>
<servlet>
     <servlet-name>SOAPWebService</servlet-name>
     <servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
     <init-param>
         <param-name>transformWsdlLocations</param-name>
         <param-value>true</param-value>
     </init-param>
     <load-on-startup>1</load-on-startup>
</servlet>

2) he creado una nueva clase de «ProjectSearchEndpoint», que tiene una anotación de @de Extremo. La carga de la raíz = @PayloadRoot(namespace = «http://FOO.FOO/foo», localPart = «ProjectRequest»)

3) he añadido el DSD la WEB-INF de mi WebApp: ws-proyecto.xsd

4) he creado un servlet archivo XML llamado: SOAPWebService-servlet.xml que hace referencia a la DSD

<bean id="projectSearch" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">
  <property name="schema" ref="schema"/>
  <property name="portTypeName" value="ProjectSearch"/>
</bean>

<bean id="schema" class="org.springframework.xml.xsd.SimpleXsdSchema">
    <property name="xsd" value="/WEB-INF/ws-project.xsd"/>
</bean>

NOTA: el código del punto final y DSD llegado desde el blog:
http://javaclue.blogspot.co.uk/2012/05/soap-web-service-using-spring-ws-20.html He editado el espacio de nombres para hacerlo «http://FOO.FOO/foo» pero aparte de que el código es el mismo, aunque he añadido Sistema.líneas para mostrar cuando el objeto es construido (es) y cuando el «searchProjects» el método que se invoca (nunca lo es).

Puedo comenzar mi webApp con éxito y si en mi navegador me vaya a la URL:

http://localhost:8080/MyApp/ws/SOAP/projectSearch.wsdl 

Puedo ver el WSDL. Todo bien hasta el momento.

Cuando yo uso SoapUI puedo crear un nuevo proyecto y pasar en el WSDL. SoapUI parece feliz. Puedo pedir una solicitud y SoapUI crea una Envoltura Soap con mi ProjectRequest en ella. Todo va muy bien! Sin embargo, a presentar dicha solicitud SoapUI quiere un Extremo. Creo que mi estación es:

http://localhost:8080/MyApp/ws/SOAP/

pero esto sólo devuelve un 404 no encontrado. Intentar otras combinaciones tales como

http://localhost:8080/MyApp/ws/SOAP/projectSearch
http://localhost:8080/MyApp/ws/SOAP/projectSearch?wsdl
http://localhost:8080/MyApp/ws/SOAP/ProjectRequest

todo el resultado en 404. ¿Cuál es mi extremo? ¿Qué valor debería ser puesta en SoapUI?

Actualización de 1

Para mayor claridad esto es lo que estoy haciendo en soapUI

De haber comenzado el soapUI, puedo crear una «nueva soapUI Proyecto». El nombre es A1. La Inicial WSDL es:

http://localhost:8080/MyApp/ws/SOAP/projectSearch.wsdl 

también «creación de Solicitudes» está marcada en el cuadro de diálogo.

I haga clic en ACEPTAR y se crea un ProjectSearchSoap11 (con un icono de un verde yo a su lado) con un único Proyecto por debajo de ella (icono de las flechas rojas) y en virtud de que «Request1» (icono de la palabra de JABÓN). I haga clic en Request1 y seleccione «Mostrar Petición del Editor». Esto muestra una ventana con un sobre SOAP y mi espacio de nombres y ProjectRequest. Todo esto se ve bien.

Ahora quiero haga clic en «Enviar solicitud a sepecified dirección URL del Extremo» (flecha verde en la parte superior-izquierda), pero esto es gris hasta que especificar un extremo (a la derecha). Hago clic en los extremos desplegable y seleccione «editar-actual». Aparece un cuadro de diálogo. Yo ingrese a:

http://localhost:8080/MyApp/ws/SOAP/

y haga clic en aceptar. Ahora al ejecutar el icono está activado (verde). Al hacer clic en este icono, a continuación, se traduce en una «respuesta» de la ventana que aparece, que está en blanco, pero los datos en bruto es:

HTTP/1.1 404 Not Found
Content-Length: 0
Server: Jetty(6.1.26)

Estoy adivinando que el extremo de que estoy eligiendo está mal. Usted puede confirmar que este es un formato incorrecto o que me falta un sufijo de algún tipo. Si usted piensa que es correcto, entonces debe ser mi configuración en la aplicación web que tiene la culpa.

Gracias,

Phil

InformationsquelleAutor Phil | 2012-09-18

1 Comentario

  1. 0

    Al crear el soapui testrequest debe rellenar la estación de campo para usted.

    También puede ejecutar el ‘peticiones de la muestra’ en verde ‘yo’ icono, al menos para probar su punto final. Yo no recomiendo la edición de estos para utilizar como pruebas reales, pero creo que muchas personas hacen uso de SoapUI de esa manera.

    ¿Qué entiende usted por ‘pido una petición’? Usted debe ser capaz de hacer clic derecho en la solicitud de prueba de dos niveles en el verde de ‘yo’ y seleccione agregar a la prueba. Hay un par de diálogos después de que donde se puede tomar los valores predeterminados. Se creará un Junit tipo de estructura: una suite de prueba y un caso de prueba. En virtud de que son los pasos de prueba que puede ejecutar por sí mismos o como parte de la suite o testcase.

    EDIT 1:

    A mí que no suena normal. Por desgracia, no he escrito nada, pero la simple demostración de servicios, aunque…

    • Voy a actualizar la cuestión para explicar lo que estoy haciendo en soapUI. Es demasiado largo de explicar en este cuadro de comentario.

Dejar respuesta

Please enter your comment!
Please enter your name here