Добрый день.
Скоро весна, но на работу это никак не влияет
Есть проблема связанная с генерацией прокси после импорта WSDL. Я не АВАP `ер, но хочу понять в чем дело. Если есть время, подскажите.
1. Импортировал готовый WSDL через Tools > Import Service Interface. После импорта, как Вы знаете, создается external defenition с загруженным типом данных и интерфейс, в котором уже прописан запрос, ответ и message fault.
2. Создал сценарии в ID, работаю с SOAP адаптером. Пытаюсь из ERP достучаться до вебсервиса.
3. Генерирую прокси и получаю ошибку, после которой генерация не происходит:
Cannot generate proxy (object <element name="GetMeasurement"> missing in WSDL, see long text)
Message no. SPRX084
Background
During proxy generation, an interface description in WSDL format is fetched from the Enterprise Services Builder or from another source and interpreted. This WSDL document must describe the whole interface correctly.
==> Display Query
==> Display WSDL Document
Diagnosis
In the WSDL document, the object
"<message name="ToroWebService_GetMeasurement_In..."
from the namespace
"http://www.honeywell.com/abc/"
links to the object
"<element name="GetMeasurement">"
from the namespace
"http://www.honeywell.com/abc/"
However, this last object does not exist in the WSDL document.
System Response
ABAP proxy generation expects that all directly and indirectly referenced objects are in the WSDL document. Therefore, no proxy can be generated for this WSDL and the system displays an error message.
Procedure
This situation can have different causes:
Object
"<element name="GetMeasurement">" not been defined
Object
"<element name="GetMeasurement">" saved in the wrong namespace
In the reference to object
"<element name="GetMeasurement">", the wrong name was specified
In the reference to object
"<element name="GetMeasurement">", the wrong namespace "http://www.honeywell.com/abc/" was specified
Internal error in the service that constructs the WSDL document
Internal error in ABAP proxy generation
а вот и отрезок, на который ругается:
<wsdl:message name="ToroWebService_GetMeasurement_InputMessage">
<wsdl:part name="parameters" element="tns:GetMeasurement" />
</wsdl:message>Пробовал убирать tns:, дописывать руками element name - все это, как и сразу было понятно без результатов.
Почему прокси не понимает <wsdl:part name="parameters" element="tns:GetMeasurement" /> , я в ESR при просмотре вижу этот элемент :