A gerar o XML de pedido/resposta a partir de um WSDL
Existe uma forma de gerar os formatos XML de pedido e resposta a partir de apenas um ficheiro WSDL - se o serviço web não estiver activo neste momento.
SoapUI não me dá a resposta a menos que contacte o serviço web com um pedido. Há alguma outra ferramenta que possa fazer isso?
devo assumir que esta informação está disponível-porque sem ti-client stub frameworks como Axis / JAXWS etc não será capaz de gerar stubs para gerar o pedido e, em seguida, interpretando a resposta.
7 answers
Tenta esta ferramenta online: https://www.wsdl-analyzer.com . parece ser livre e faz muito mais do que apenas gerar XML para pedidos e Respostas.
Também há isto: https://www.oxygenxml.com/xml_editor/wsdl_soap_analyzer.html , que pode ser baixado, masNão livre.
Eu uso {[[0]}, ele tem uma opção para criar pedidos / respostas (também usando WSDL), você pode até mesmo criar um serviço mock que irá responder quando você enviar o pedido. O procedimento é o seguinte:
- carregue com o botão direito no seu projecto e seleccione a nova opção Mock Service que irá criar mock service.
- carregue com o botão direito no serviço mock e seleccione a opção nova operação Mock que irá criar a resposta que poderá usar como modelo.
Editar # 1:
Ligação SoapUI para a última versão. Há uma versão Pro, bem como a versão livre de código aberto.
A maneira mais fácil é usar esta extensão chrome link , happy web service requesting
- iniciar um "novo projecto Soap", indique o nome do projecto e a localização do WSDL; escolha "Criar pedidos", deseleccione as outras opções e carregue em BEM.
- sob a árvore "Projecto" do lado esquerdo, carregue com o botão direito numa interface e escolha "Mostrar Visualizador de Interface".
- seleccione a página "conteúdo do WSDL".
- deve ver o texto do WSDL em o lado direito; procure o bloco começando com "WSDL: types" abaixo do qual estão o esquema para as mensagens de entrada e saída.
- cada definição do esquema começa com algo como {[[0]} e termina com
</s:element>
. - copiar o bloco para um editor de texto; por cima deste bloco adicionar:
<?xml version="1.0" encoding="UTF-8"?> <s:schema xmlns:s="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
- abaixo do bloco de XML copiado, adicionar
</s:schema>
- decida se precisa de "UTF-16" em vez de "UTF-8"
- o "s: " e o" xmlns:s " devem corresponder ao bloco que copiaste (passo 5)
- gravar este ficheiro com".extensão "xsd"; se tiver "XML Copy" Editor " ou alguma tal ferramenta (espião XML, pode ser) você deve verificar que este é XML bem formado e esquema válido.
- repetir para todos os itens do" elemento " na área direita de soapUI até chegares a Assim vais ter definições de tipo que podes não ser. interessar. Se você quiser escolher e escolher, use o seguinte metodo: Veja através do" WSDL: operation "itens sob" wsdl:portType " em o texto WSDL abaixo das definições de tipo. Eles terão "WSDL: input"e"wsdl:output". Tome os nomes das mensagens de "WSDL:input" e "wsdl:output". Combine - os com os nomes" WSDL:message "que provavelmente estarão acima dos itens" wsdl:portType " no WSDL. Obtenha o nome do elemento" WSDL:part" do item" WSDL:message" e procure esse nome como nome do elemento em "wsdl: types". Esses serão os esquemas de interesse para ti.
Pode tentar acima do procedimento usando o WSDL at http://www.webservicex.com/globalweather.asmx?wsdl
Uma vez que você está dizendo que o webservice não está ao vivo agora, você pode fazê-lo criando mockservices que irão criar o formato de resposta de amostra.
Para testar o seu ficheiro WSDL, as ligações online são: