Как установить мою переменную Java, чтобы иметь xsi: тип
У меня есть веб-приложение, которое должно вызывать веб-сервис для обработки чего-либо. Как обычно, я запрашиваю код клиента у клиента, чтобы я мог кодировать его на основе кода клиента.
Тем не менее, данный код клиента находится в формате JAR-файла. Таким образом, я просто действительно изменился. Я просто могу это назвать.
Теперь у меня есть некоторые проблемы. Приведенный клиентский код не обновлен, а это означает, что код клиента, который я использую, фактически не соответствует реальным веб-сервисам.
Это часть моего wsdl, которую я использую для запуска веб-службы через интерфейс SOAP:
<attributeSet>
<!--Zero or more repetitions:-->
<attributes>
<value>mmm</value>
<attributeID>DP</attributeID>
</attributes>
</attributeSet>
Когда я использую SOAP UI для запуска базы веб-сервисов на данном wsdl, он выдаст мне ошибку следующим образом:
AttributeSet::validateFieldType (Field 'Password Format' (Field ID 30), data type 'STRING' (Type ID 1), Field value '0', Attribute set Credentials)
Таким образом, я связываюсь с сотрудником веб-службы и говорю им, что мне нужен последний клиентский код. Но из-за некоторых технических проблем на их сайте они не могут предоставить нам последний код клиента. И они просто просят меня изменить сам wsdl следующим образом:
<attributeSet>
<!--Zero or more repetitions:-->
<attributes>
<value xsi:type="xsd:string">m</value>
<attributeID>DP</attributeID>
</attributes>
</attributeSet>
Его работа над вызовом SOAP UI.
Тем не менее, теперь я хочу кодировать его в Java, я просто использую данный клиентский код, чтобы установить значение:
ca1.setAttributeID("DP");
ca1.setValue("m");
Что я могу кодировать в коде Java, чтобы он имел xsi:type="xsd:string"
когда веб-сервис звонит из приложения?
1 ответ
Если у вас есть WSDL, вы можете сгенерировать код Java. Этот метод генерации кода называется разработкой веб-сервисов сверху вниз.
Если вы используете Maven, взгляните на этот вопрос по Java-коду из wsdl
Если вы используете Eclipse, вы также можете создать новый клиент веб-службы из WSDL, выбрав новый клиент веб-службы в качестве типа проекта, см. Снимок экрана ниже:
Затем вы добавляете WSDL к следующему диалоговому окну и выполняете шаги до конца. См. Снимок экрана ниже:
NetBeans и другие IDE также позволят вам генерировать Java-классы из WSDL. Maven хорош, так как работает во всех IDE.