Преобразование формата файла WSDL (Java?) - PullRequest
3 голосов
/ 18 февраля 2012

Я работаю с системой (Salesforce), которая может использовать только файлы WSDL с документами и литералами.Однако моим клиентам необходимо, чтобы я подключался к более старым системам, которые генерируют другие форматы файла WSDL (например, литерал RPC или просто литерал doc).Поэтому я часто получаю файлы wsdl в «недружественных» форматах, и у меня есть адское время, когда я пытаюсь вставить его в формат, приемлемый для Salesforce.По сути, в wsdl не может быть никаких внешних ссылок, и он должен быть заключен в документ / литерал.

Итак ... Я думал, что хитрым способом решения этой проблемы может быть использование wsdl в Java (jax.ws), а затем программно воссоздайте wsdl из Java одним вызовом.

Была ли эта проблема решена ранее?Если нет, то я на правильном пути?Кто-нибудь решил эту проблему трансформации wsdl раньше?Я предполагаю, что XSLT, вероятно, мог бы выполнить работу для более умного человека, чем я, но я должен работать с мозгом, который был мне выпущен, и, кажется, полон решимости узнать как можно меньше о wsdls, чтобы решить эту проблему.

TLDR: могу ли я использовать / создавать WSDL произвольного формата с помощью Java, чтобы я мог создавать WSDL в обернутом формате doc / literal без атрибутов (элементов) и без импорта (на выходе должен быть полностью автономный WSDL).

Если вы поможете мне решить эту проблему, я куплю вам пиццу!Вот так.Я пришлю вам по электронной почте купон на papaJohn / Dominos / Pizzahut (или даже позвоню в местный пиццерий и куплю его для вас, если вы хотите дать мне свой домашний адрес / номер телефона - что вы, вероятно, не делаете).

1 Ответ

1 голос
/ 19 февраля 2012

Я могу предложить подход, но вы можете или не можете найти его полезным.

Apache CXF включает большой код для построения модели сервиса на основе WSDL, а затем, с другой стороны, для создания WSDL на основе этой модели. Вы можете получить что-нибудь, начав с этого кода и пытаясь написать больше кода для сопоставления модели, чтобы получить желаемый wsdl.

Я терпимо уверен, что ничто встроенное в JAX-WS не поможет вам здесь, но я, конечно, не запомнил это. Вы также можете найти более подробную информацию в списке рассылки пользователей CXF.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...