About Me

My photo
SomeCodingHero’s secret identity is Laurens van der Starre. He uses this blog to mumble stuff about tech-related subjects he encounters during his professional life. His professional life takes place in The Netherlands, working as a consultant for Oracle Consulting Netherlands.

Wednesday, October 6, 2010

Microsoft .Net WCF web service WSDLs and OSB 10g

When integrating applications you'll probably encounter Microsoft's Windows Communication Foundation (WCF) web services. The WSDLs for these web services have the tendency to contain a lot of schema and wsdl imports. Of course this is completely normal. However, the OSB can have some problems with consuming these WSDLs. The fact of the matter is that these imports contain generated XSDs and WSDLs, for example:


      


The problem is in this extension. "?xsd=xsd<number>" (and in case of a WSDL "?wsdl=wsdl<number>"): when consuming a WCF WSDL in a Business Service using Workshop in 10g the service consumption fails because the imported "input.xsd?xsd=xsd0" is not recognized as an OSB resource. When the web interface is used, one is left to manually create all the references to the imported artifacts. In WCF WSDLs this can be a lot meaning a lot of work.

A workaround is not to consume this WSDL. Use the import utility. So right-click on the OSB project, choose "Oracle Service Bus - Import resources from URL" and import the WSDL. (Note that when the WSDL is on the file system, the file:// URL syntax can be used). It will now import all resources correctly.

Alternatively, upgrade to 11g. The OEPE does not seem to have this problem.

No comments:

Post a Comment