Нет адаптера для конечной точки; Аннотирована ли ваша конечная точка @Endpoint, или она поддерживает поддерживаемый интерфейс, такой как MessageHandler или PayloadEndpoint?

Так много для этого простого вопроса, но я просто хотел выделить новую функцию на Java, которая позволит избежать всех путаниц в индексировании в массивах даже для новичков. Java-8 абстрагировал задачу итерации для вас.

int[] array = new int[5];

//If you need just the items
Arrays.stream(array).forEach(item -> { println(item); });

//If you need the index as well
IntStream.range(0, array.length).forEach(index -> { println(array[index]); })

В чем польза? Ну, с одной стороны, это читаемость, как английский. Во-вторых, вам не нужно беспокоиться о ArrayIndexOutOfBoundsException

16
задан user1988865 18 January 2013 в 00:13
поделиться

2 ответа

Этот метод работает при вызове от SOAPUI:

@PayloadRoot(namespace = NAMESPACE_URI, localPart = "getOrderDetail")
public @ResponsePayload JAXBElement<OrderDetailResponse> getOrderDetail(@RequestPayload JAXBElement<String> customerId, @RequestPayload JAXBElement<String> promoCode)

В методе ниже, значения в customerStatusRequest прибывают в пустой указатель даже при том, что от SOAPUI я заполняю их.

@PayloadRoot(namespace = NAMESPACE_URI, localPart = "getCustomerStatus")
public @ResponsePayload
JAXBElement<CustomerStatusResponse> getCustomerStatus(@RequestPayload JAXBElement<CustomerStatusRequest> customerStatusRequest)

(CustomerStatusRequest реализует сериализуемый)

кажется, что значения Строкового параметра делают его через вызов. Но не пользовательский класс. Я аннотировал класс CustomerStatusRequest этим способом:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "CustomerStatusRequest", propOrder = {
    "customerId",
    "gender",
    "dob",
    "lastName",
    "sourceSystemId"
},namespace="http://www.mycompany.com/webservices")

и также каждое поле в CustomerStatusRequest этот путь:

@XmlElement(name = "customerId", required = true, nillable = true)

метод называют, но значения для customerId, и т.д.... все еще входят как пустой указатель. Дополнительные аннотации необходимы для пользовательского класса?

- Спасибо

0
ответ дан 30 November 2019 в 10:26
поделиться

У меня была подобная ошибка. проблема состоит в том, что запрос и ответ, сгенерированный от XSD/WSDL, пропустили @XMLRootElement аннотацию. Путем добавления JAXBElement к конечной точке решил проблему.

private static final String NAMESPACE_URI = "<targetNamespace>";

@Autowired
Service   service;

@PayloadRoot ( namespace = Endpoint.NAMESPACE_URI, localPart = "name" )
@ResponsePayload
public JAXBElement < Response > Create ( @RequestPayload JAXBElement < Request> request ) throws Exception
{
ObjectFactory factory = new ObjectFactory ( );
Response response = new Response ( );
Request req = request.getValue ( );

response  = this.service.call( req);

return factory.createResponse ( response );
}
0
ответ дан 30 November 2019 в 10:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: