OSB "The dependency mapping is not configured in WSDL resource" - xsd

I'm using Oracles Service Bus (OSB) and I'm trying to use an XSD in my WSDL that has the following schemaLocation in its XSD import:
schemaLocation="http://docs.oasis-open.org/wsn/br-2.xsd"
My problem is that OSB is not able to resolve this dependency and gives me error :
"The dependency mapping is not configured in WSDL resource".
I'm able to do a work around by importing the XSD into the OSB project and use a relative path to the resource (schemaLocation="../myXSDs/br-2.xsd"), but I don't want relative paths, especially when I shouldn't need one.
So how can I use an URL directly as an XSD resource in OSB? and if not, why? Security reasons??
my software stack is as follows:
OSB (version 11.1.1.7.0)
OEPE (11.1.1.7.0) (inc. Weblogic Server 10.3.6.0)
Friendly regards from a service oriented developer :-)

Related

Hazelcast 3.8 module and configuration possibility for wildfly 10.1?

I like to prototype a JEE environment with Wildfly 10.1 and Hazelcast 3.8. Until now I only have experience with ancient JBoss 4.2.3.GA.
I already found existing resource adapter implementation based on older hazelcast 3.6 under https://github.com/hazelcast/hazelcast-ra. Unfortunately I couldn't deploy it as-is on Wildfly 10.1 since IronJacamar complained about missing equals/hashCode methods (which isn't true since they are explictly overwritten in the source code. deploying a self-built snapshot of git master had the same issue).
I ended up with migrating the ra.xml configuration code to proper javax.resource.spi annotations (#Connector, #ConfigProperty, #ConnectionDefinition) and adding javax.resource.Referenceable interface implementation (don't know whether this is necessary). The step to hazelcast 3.8 was much easier - just adding missing interface methods to HazelcastConnectionImpl.
I still struggle with deployment/configuration, so here are my questions:
How should the deployment structure for an JCA adapter look like? I tested the following approaches:
All-in-one: RAR file containing all of cache-api-1.0.0.jar, hazelcast-3.8.jar, hazelcast-client-3.8.jar, my-hazelcast-ra-impl.jar and deployment descriptors.
By-Library: Added new modules javax.cache.api (cache-api-1.0.0.jar) and com.hazelcast.hazelcast (hazelcast-3.8.jar, hazelcast-client-3.8.jar) to ${WILDFLY_HOME}/modules/ and declared appropriate module dependencies in jboss-deployment-structure.xml. RAR file contains my-hazelcast-ra-impl.jar, hazelcast.xml and deployment descriptors.
By-Adapter: Added a new module my.hazelcast.ra (cache-api-1.0.0.jar, my-hazelcast-ra-impl.jar) to ${WILDFLY_HOME}/modules/ and declared appropriate module dependency in jboss-deployment-structure.xml. RAR file contains hazelcast-3.8.jar, hazelcast-client-3.8.jar, hazelcast.xml and deployment descriptors.
Where is the proper place to deploy a hazelcast.xml configuration file into Wildfly 10.1? It seems that I need to pack it next to ResourceAdapterImpl class (my-hazelcast-ra-impl.jar) so that the class loader finds it and prefers it over hazelcast-default.xml. It contains only global configuration options like group/network. No cache definitions since caches should be configured/created on-demand via CDI.
Is there something like a conf folder where I can deploy hazelcast.xml file separate from binary RAR contents? It would be nice if it could be hot-deployed (for prototyping) but that is not mandatory.
Should it be placed somehow inside subsystem configurations within standalone.xml? I found similar cache-container configurations for infinispan subsystem but don't know how to adapt this to hazelcast (since it's not an own subsystem).
In Wildfly Management webinterface I can find the deployed RAR under Depoyments and in the JNDI view, but it is not listed under Configuration -> Subsystems -> Resource Adapters. I can create a new entry there but don't find any advantage. What is the meaning of this configuration option?
Thank you in advance

Android Studio xmlns Error Debugging

I'm getting the following error compiling a program using a 3rd party library:
Error:(xx) No resource identifier found for attribute 'tint' in package 'com.example.mycompany.myapp'
The line xx is inside the xml layout that includes a custom component defined in the library.
cntrlco:tint="42"
The xml namespace documentation says I need the following:
xmlns:cntrlco="http://schemas.android.com/apk/res-auto"
Here's my best guess as to the problem, but if you think otherwise please let me know, this is a guess.
I suspect I don't have the library installed completely. The reason is that the library instructions want the library installed from maven. I'm not up on this technique, but it appears to be a web based auto install that automates dependency installs while performing the primary install. Nice idea, but I can't install using the web (long story), so I included the .aar file locally.
From my research, installing .aar files locally won't look at its dependencies. If this is true and the "tint" property is defined in a dependency, then this would explain the error I'm seeing.
Is there a way to follow the error chain in more detail so I can verify my theory? Along the way, will this help me find the name of the possible missing dependencies so I can see if including them fixes the problem.

Mule IDE unable to generate JAX-WS client

Using Mule IDE version 3.2.3 to invoke JAX-WS web service. In the "Import WSDL" dialogue after entering the WSDL URL and package name the JAX-WS client generation fails with error message
Error generating from WSDL: Thrown by JAXB : A class/interface with same name is already in use. Use a class customization to resolve this conflict.
How do I specify jaxb customization in Mule IDE?
What you are covering with the black colour is key to resolve this issue. Are you sure you are not using a reserved class, or a package name already taken?
Just try with org.example.helloWorld and let us know if it still fails.

Using log4net in a complex software

I'm using log4net logging in my software that consists of several applications.
I want to have one common library for this.
I created a library and put it in the conficuration file. In AssemblyInfo.cs placed attribute:
log4net.Config.XmlConfigurator(ConfigFile = #"c:\logging.xml", Watch = true)
It work for windows service, but in dosn't work for asp.net application.
It work in asp.net if delete attribute from common library and put in into global.asax. However, this leads to that section of the log4net configuration must be made in the windows service.
There is also a business process which causes our library through the
remouting. I want the logging was carried out there too.
Is there way around this?
In my opinion the library should not define where the configuration file is found. Maybe a better idea would be to have a helper method that allows you to configure log4net quickly; that method would take an optional parameter for the config file path and would try to load the configuration file from the specified path first and if that does not work fallback to some maybe the current folder, the application folder or even the web / app.config.
If you insist that it must be an absolute path then you need to give the IIS Application Pool user read access to this file. This way the configuration by attribute should work for services and ASP.Net applications. I do not understand what you mean by "remounting".

java.lang.SecurityException: class "org.apache.log4j.Logger" does not match trust level of other classes in the same package

For an java web application, I got this error when using JRE 1.6.0_22
java.lang.SecurityException: class "org.apache.log4j.Logger" does not match trust level of other classes in the same package
However, it works fine when using JRE 1.6.0_13.
I searched in Google, and find the there is a security enhancement since update 19.
And for this exception, it says,
The following two SecurityExceptions are thrown after mixed components had previously been detected and a decision was made to allow them to coexist. The exceptions indicate that a component name collision (resource name or class package name) was detected between trusted and untrusted components and the request to load the resource or class was denied.
Now the problem is, how could i find which classes (maybe org.apache.log4j.Logger?) have the collision and which packages they are in?
I find there is a similar question in Oracle forums
Interesting link. I didn't have the problem yet - but may it be that you have the jar with "org.apache..." in the JavaEE container classpath somewhere and in the web application.
Look for that and to test remove it from the web app

Resources