Сопоставление конечных точек не найдено - PullRequest
1 голос
/ 26 августа 2010

Привет, я создал свой первый веб-сервис. Это работает нормально, но теперь мне нужно решить какую-то особую ситуацию. Первая ситуация упоминается здесь Spring Web Services - исключение исключения ExceptionResolver , но нет решения, которое может мне помочь.

Во второй ситуации клиент отправляет мне правильное сообщение SOAP, но, допустив ошибку в пространстве имен, отправьте мне, например: xmlns:urn="urn:org:samples:spring:ws:schemas:calculatorblabla" но правильное пространство имен: xmlns: urn = "urn1: org: samples: spring: ws: schemas: calculator". Поэтому, когда клиент отправляет мне сообщение с неправильным пространством имен, он не получает сообщение, в котором он делает ошибку, только эти:

<html><head><title>SpringSource tc Server/6.0.20.C - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The requested resource () is not available.</u></p><HR size="1" noshade="noshade"><h3>SpringSource tc Server/6.0.20.C</h3></body></html>

Я тестировал эту ситуацию с SoapUI

сервер получил сообщение, но не отправил ответ, потому что он не нашел правильную конечную точку [2010-08-26 14:38:19] Accepting incoming [org.springframework.ws.transport.http.HttpServletConnection@1700f3d] at [http://localhost:8080/calculator] [2010-08-26 14:38:19] Received request [SaajSoapMessage {urn:org:samples:spring:ws:schemas:calculatorblabla}calculatorRequest] [2010-08-26 14:38:19] Looking up endpoint for [{urn:org:samples:spring:ws:schemas:calculatorblabla}calculatorRequest] [2010-08-26 14:38:19] Endpoint mapping [org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping@ae2481] has no mapping for request [2010-08-26 14:38:19] No endpoint mapping found for [SaajSoapMessage {urn:org:samples:spring:ws:schemas:calculatorblabla}calculatorRequest] [2010-08-26 14:38:19] Successfully completed request

, поэтому мне нужно, чтобы клиент отправлял мне сообщение с неверным пространством имен, он пишет аналогичное сообщение об ошибке, когда отправляет xml, который не проверяется с помощью xsd Спасибо за любую помощь и извините за ошибку, мой английский очень плохой

1 Ответ

0 голосов
/ 31 августа 2010

по умолчанию Spring-WS 1.5.x использует org.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapter, который использует org.springframework.ws.transport.http.HttpServletConnection для отправки WebServiceMessages. HttpServletConnection - это EndpointAwareWebServiceConnection, который определяет способ обработки случаев, когда конечная точка не найдена. Реализация по умолчанию устанавливает код ответа сервлета равным 404.

Если вам нужно заняться чем-то другим, вам нужно будет разобраться в Spring-WS, поскольку WebServiceConnection не настраивается в WebServiceMessageReceiverHandlerAdapter. Я не знаю другого HandlerAdapter, который позволяет вам настроить WebServiceConnection, поэтому вам, возможно, придется написать его.

...