Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Operations not found in our WSDL #67

Closed
lejoko opened this issue Feb 14, 2019 · 5 comments · Fixed by #85
Closed

Operations not found in our WSDL #67

lejoko opened this issue Feb 14, 2019 · 5 comments · Fixed by #85
Labels

Comments

@lejoko
Copy link

lejoko commented Feb 14, 2019

Hi,
we waited for your release and tried 1.0.1. We still have problems with your library.

Here is our wsdl file
api.wsdl.txt

When we parse it no operations are found, and therefore we can't call any action:

Erlang/OTP 21 [erts-10.2.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe] [dtrace]

Interactive Elixir (1.7.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> {:ok, wsdl} = Soap.init_model("api.wsdl.xml", :file)
{:ok,
 %{
(... very long output...)
 }}
iex(2)> Soap.operations(wsdl)                               
[]
iex(3)> 

Obviously, operations should not be empty.

@sigmen
Copy link
Contributor

sigmen commented Feb 14, 2019

Hi, thanks for comment, i will research this problem at soon or you can make the pr for resolve this :)

@Nitrino Nitrino closed this as completed Feb 15, 2019
@Nitrino Nitrino reopened this Feb 15, 2019
@Nitrino
Copy link
Member

Nitrino commented Mar 9, 2019

@sigmen do you have any progress with it?

@Nitrino Nitrino added the bug label Mar 9, 2019
@Espina2
Copy link

Espina2 commented Mar 23, 2019

We did not work either with the european vat validition service. Link here:
http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl

@chaz8080
Copy link

chaz8080 commented Apr 17, 2019

Might be related...

I just ran into all soapAction="" in my wsdl. They will not show up in Soap.operations because they are rejected in wsdl.ex:

  defp get_operations(wsdl, protocol_ns, soap_ns) do
    wsdl
    |> xpath(~x"//#{ns("definitions", protocol_ns)}/#{ns("binding", protocol_ns)}/#{ns("operation", protocol_ns)}"l)
    |> Enum.map(fn node ->
      node
      |> xpath(~x".", name: ~x"./@name"s, soap_action: ~x"./#{ns("operation", soap_ns)}/@soapAction"s)
      |> Map.put(:input, get_operation_input(node, protocol_ns, soap_ns))
    end)
    |> Enum.reject(fn x -> x[:soap_action] == "" end)
  end

@sigmen @Nitrino This may not have been a use case identified yet?

http://services.chromedata.com/Description/7a?WSDL

@danadaldos
Copy link

@cscholle1

I am having the same difficulty on an Experian API that has blank values for soapAction : https://www.experian.com/Vingateway/VinGatewayPort?wsdl

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants