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

removed xsi: before minOccurs #23

Closed
wants to merge 1 commit into from

Conversation

Bjorn-Nilsson
Copy link
Contributor

a nice pull request if you think this is a good idea! :)

@inossidabile
Copy link
Owner

The problem is that Java won't work with this. This is not valid XML due to namespaces collapse. Are you sure .NET works with this? Cause it's quite strange to me.

You can also try to set xsd: namespace. Will it work then?

@Bjorn-Nilsson
Copy link
Contributor Author

This is second hand information for me so no, I'm not sure. I don't use .NET myself. I can ask if it works with xsd: But isn't it strange that so many use invalid XML? I'm new to SOAP so I just try to figure it out.

@inossidabile
Copy link
Owner

It may not be invalid. Everything depends on how you define your schemas and namespaces. minOccurs is defined inside of XMLSchema declaration. With 'xmlns:xsd' => 'http://www.w3.org/2001/XMLSchema' I bind XMLSchema to xsd namespace. And therefore it should be accessible from within. You should ask if it works with xsd or we have to find another way out. Since we can't break Java in favor of .NET. We have to support both :)

@Bjorn-Nilsson
Copy link
Contributor Author

I spoke to my .NET colleague, apparently it doesn't work for them to have minOccurence in any sort of namespace so at least for now I will have to use my own fork. Thanks for the info! :)

@inossidabile
Copy link
Owner

.NET compatibility is very important. I'll try to investigate if we can force Java to use it without namespaces too.

@inossidabile
Copy link
Owner

And lol I succeeded. Try the master pls.

@inossidabile
Copy link
Owner

And now it stopped working with PHP. I hate SOAP 😱. However you should try to check .NET against master anyway. I think I'll be able to do something with PHP too.

@Bjorn-Nilsson
Copy link
Contributor Author

Haha, I know what you mean.. Time for lunch now but I will try as soon as I get back!

@inossidabile
Copy link
Owner

Okay. I've reformed WSDL to be a valid XML. Since types section is in XML Schema namespace we can omit the 'xsd' namespace indeed. However the problem appeared to be in message -> part section. It can not be omitted there since part is a tag from WSDL namespace. Therefore it's still there.

You should check if it makes .NET happy. If it's not... the only thing that can break .NET client is the array as a direct parameter. As long as you wrap all your direct arrays into something it is supposed to be happy.

So instead

:args => [:integer]

you should use

:arge => {:zomg_numbers => [:integer]}

And it should work with master. Could you please approve that?

@Bjorn-Nilsson
Copy link
Contributor Author

According to my colleague it works now (with current master), great! Thanks for your insanely quick responses! :)

@inossidabile
Copy link
Owner

✊😍✊

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

Successfully merging this pull request may close these issues.

None yet

2 participants