Even though the SOAP Spec says the faultactor must be a URI, some services send down a string instead. Since, I don't think I can get the service supplier to change it, the only solution I could come up with is to change scalaxb to make the faultactor a String instead of blowing up with an URI IllegalArgumentException. I was a little conflicted about this, but 😔
The Java and .NET SOAP system clases make it a string as well.
making the faultactor a string instead of a URI
First of all, thanks for the contribution, and I'm generally for making changes to deal with reality of APIs. But there are a few comments.
I think the files were generated using scalaxb, so probably the schema should be updated:
Another concern is that the existing scalaxb users. If we make this change, it'll break source compatibility of 1.0.0 users. Future change did too, but at least there was a setting to generate legacy mode. By strict definition of semantic versioning, we should bump to 2.x, but by Scala tradition I might get away with just bumping to 1.3.0. Do you guys want this change soonish?
I'll update the soapenvelope11.xsd Soonish would be great, but we can get by with building it ourselves for the moment. I understand it's a breaking issue, however I'm doubtful anyone is really using the faultactor.
changing type of faultactor to string
I have another incoming PR (hopefully) dealing adding interceptors for hooks into logging request/responses plus anything else someone might want to do. So perhaps hold off on a 1.3 release?
Since there seems to be a few regression in 1.2.0, I'll probably try to get 1.2.1 out from some new branch first, and merge this into master (1.3.0-SNAPSHOT) so at least you won't feel like you're off in some rogue build.
Sounds good. Thanks.
fixing other string to URI in template