I have found that there is a multitude of XSD files on the web that claim their targetNamespace is "http://schemas.xmlsoap.org/wsdl/". Naturally, there is one at "http://schemas.xmlsoap.org/wsdl/", but there is another one at "http://www.w3.org/TR/wsdl#A4.1". And e.g. Oracle has at least 10 versions of wsdl.xsd in its SOA Suite 11g, all somehow derived from the xmlsoap.org or w3.org version.
The problem is, all these various WSDL 1.1 definitions are mutually different!! For instance the schema at "http://schemas.xmlsoap.org/wsdl/" allows the "name" attribute on and for operations in the sections, while the schema at "http://www.w3.org/TR/wsdl#A4.1" doesn't allow that.
So, which XSD schema for WSDL 1.1 is the right one?
Related
Our application connects to oracle.
It should change schema name on runtime, otherwise it causes exception to connect to different schema.
Current solution is to remove Schema="XXX" in edmx file before release.
Do you have any better idea?
DevForce itself doesn't provide anything to change the schema at runtime. You might be able to implement an EF IDbConnectionInterceptor to do this, although I haven't tried. Take a look at the docs for this interface, as well as some older tricks others have used with EF to change the Oracle schema at runtime.
I am trying to migrate from axis to cxf. Here's the problem i am facing: some packages has incorrect names being generated by cxf. Specifically there is a difference for a types, that located in xsd files, imported to main wsdl through <s:import> element: looks like cxf prefers xsd's file namespaces while axis not. This is gonna take much more time to migrate if i should change package names for all xsd types. Is it possible to ignore xsd namespaces?
CXF's wsdl2java has a -pnamespace=package flag that can be used to map namespaces to non-default packages.
I have WSDL files and would like to compare and match WSDL elements in these files syntactically. Do you have any suggestions for Java libraries that can be used finding syntactical similarities between two terms in Web (for me, wsdl elements)?
Thanks.
There's also WSDL Analyzer which builds upon the most recent version of the Membrane SOA Model. It's a web application which not only allows you to validate and check your
WSDL against best practices but also lets you compare different versions of your WSDL.
Disclaimer: I'm one of it's developers.
Well, you can use SOAPUI to load the wsdl definitions and compare them.
Including link with some documentation relating to your question. Hope is of some help.
http://www.soapui.org/SOAP-and-WSDL/working-with-wsdls.html
edit:
Also, check out http://www.membrane-soa.org, which as some libraries for comparing wsdl files.
Some specific examples are here: http://www.membrane-soa.org/compare-wsdl-java-api.htm
I've been using spring.net with xml configuration for some times, and I just saw that spring team released CodeConfig a month ago.
What I like about the xml config is that if I have a problem on the live server I can easily change the xml configuration to enable some specific debugging settings, or disable a specific component simply changing the xml configuration.
What is the advantage of using a code configuration instead of an xml configuration other than compile time check?
With code config, possible benefits you could get are:
Better refactoring support; e.g. renaming an injected property
More compact configuration, compared to xml
Developers can use code, in which they are often more at home than in xml
Benefit of the last point is also that developers new to the framework will have a significantly less steep learning curve than with the xml config.
From the docs:
While there are several positive
aspects to expressing configuration
metadata in XML files, there are also
many problems with this approach
including the verbosity of XML and its
heavy dependence on string-literals
which are both prone to typing errors
and unusually resistant to most modern
refactoring tools in use today. The
CodeConfig approach removes these
problems by providing a type safe,
code-based, approach to dependency
injection. It keeps the configuration
metadatda external to your class so
your class can be a POCO, free of any
DI related annotations.
Just to highlight one thing, you can mix and match configuration styles. From within a CodeConfig class you can refere to XML config files using the [ImportResource] attribute (see here), and in the XML you can use the namespace (see here).
Cheers,
Mark
In Java we have a wonderful tool named CheckStyle that reinforce all our corporate naming conventions. Wonderful tool. I would like to do the same with our XSD and WSDL.
Is there a tools that I could use to reinforce and make sure all coders and analysts will respect conventions like:
<wsdl:operation name="XX> All operations must start with getXX of setXX or deleteXX.
Is the solution to my problem to create an XSD to validate my WSDL?
Look at this tool for the defining rules and running them on WSDL, mainly for naming conventions:
Rule Engine Based Wsdl Auditor
The development of Wsdl Auditor as mentioned by Saikiran Daripelli seems to have stopped. Last commit in the Subversion repository is from Januar 2011.
After doing some research, installing and testing several tools I decided to use Oracle Code Compliance Inspector (CCI) which is available as an extension for JDeveloper IDE and as a command line utility (which allows integration with e.g. Ant as well).
Testing for naming conventions seems not to be the primary goal of Oracle CCI but it works quite good by using XPath + regular expression. As mentioned on their website the primary objective is to enforce design consistency and good coding and documentation practices.