Uploaded image for project: 'JBoss ESB'
  1. JBoss ESB
  2. JBESB-3299

SOAPProxy breaks when WSDL elements have special characters

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 4.8
    • Fix Version/s: 4.9
    • Component/s: Web Services
    • Labels:
      None

      Description

      When Proxing a webservice that has special characters in the URL SOAPProxy breaks.

      Here is a xml fragment that breaks SOAPProxy

      <xsd:schema xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://com.metamatrix/MMFinancials_VDB">
      <xsd:import namespace="http://metamatrix.com/customerholdings/input" schemaLocation="http://192.168.128.139:8080/metamatrix-soap/servlet/ArtifactDocumentService/MMFinancials/CustomerHoldings/CustomerHoldingsInput.xsd?ServerURL=mm://localhost:31000&VDBName=MMFinancials_VDB&VDBVersion=1" />
      <xsd:import namespace="http://metamatrix.com/customerholdings/schema" schemaLocation="http://192.168.128.139:8080/metamatrix-soap/servlet/ArtifactDocumentService/MMFinancials/CustomerHoldings/CustomerHoldingsSchema.xsd?ServerURL=mm://localhost:31000&VDBName=MMFinancials_VDB&VDBVersion=1" />
      <xsd:import namespace="http://www.metamatrix.com/account_Input" schemaLocation="http://192.168.128.139:8080/metamatrix-soap/servlet/ArtifactDocumentService/MMFinancials/AllCustomerAccounts/AllCustomerAccounts_Input.xsd?ServerURL=mm://localhost:31000&VDBName=MMFinancials_VDB&VDBVersion=1" />
      <xsd:import namespace="http://www.metamatrix.com/account_Output" schemaLocation="http://192.168.128.139:8080/metamatrix-soap/servlet/ArtifactDocumentService/MMFinancials/AllCustomerAccounts/AllCustomerAccounts_Output.xsd?ServerURL=mm://localhost:31000&VDBName=MMFinancials_VDB&VDBVersion=1" />
      </xsd:schema>

      As seen in the above URL's the "schemalocation" has "?ServerURL=mm://localhost:31000&VDBName=MMFinancials_VDB&VDBVersion=1" after the .xsd extension.

      SOAPProxy tries to create a temp file of the form "protocol + - + suffix" and since the suffix has special characters the temp file creation fails. Here is the stack trace

      14:39:06,719 INFO [TomcatDeployment] undeploy, ctxPath=/MMx_WS_consumer_2
      14:39:06,780 INFO [QueueService] Queue[/queue/quickstart_webservice_consumer1_Request_gw] stopped
      14:39:06,781 INFO [QueueService] Queue[/queue/quickstart_webservice_consumer1_esb_reply] stopped
      14:39:06,781 INFO [QueueService] Queue[/queue/quickstart_webservice_consumer1_esb] stopped
      14:39:06,943 INFO [QueueService] Queue[/queue/quickstart_webservice_consumer1_esb] started, fullSize=200000, pageSize=2000, downCacheSize=2000
      14:39:06,965 INFO [QueueService] Queue[/queue/quickstart_webservice_consumer1_esb_reply] started, fullSize=200000, pageSize=2000, downCacheSize=2000
      14:39:06,997 INFO [QueueService] Queue[/queue/quickstart_webservice_consumer1_Request_gw] started, fullSize=200000, pageSize=2000, downCacheSize=2000
      14:39:07,011 INFO [EsbDeployment] Starting ESB Deployment 'MMx_WS_consumer_2.esb'
      14:39:13,792 WARN [HttpMethodBase] Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
      14:41:36,794 ERROR [AbstractKernelController] Error installing to Start: name=jboss.esb.vfsfile:/Users/uaarkoti/Sandbox/SOA/jboss-soa-p-standalone.5.0.0/jboss-esb/server/default/deploy/MMx_WS_consumer_2.esb/ state=Create
      org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException: Error configuring action processing pipeline
      at org.jboss.soa.esb.listeners.message.MessageAwareListener.doInitialise(MessageAwareListener.java:191)
      at org.jboss.soa.esb.listeners.lifecycle.AbstractManagedLifecycle.initialise(AbstractManagedLifecycle.java:133)
      at org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleController.initialiseInstances(ManagedLifecycleController.java:109)
      at org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleController.start(ManagedLifecycleController.java:66)
      at org.jboss.soa.esb.listeners.deployers.mc.EsbDeployment.start(EsbDeployment.java:122)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:59)
      at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:150)
      at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66)
      at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:243)
      at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47)
      at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:111)
      at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:72)
      at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:221)
      at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54)
      at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42)
      at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
      at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
      at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
      at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
      at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1633)
      at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:935)
      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1083)
      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:985)
      at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:823)
      at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
      at org.jboss.system.ServiceController.doChange(ServiceController.java:688)
      at org.jboss.system.ServiceController.start(ServiceController.java:460)
      at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)
      at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)
      at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
      at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
      at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
      at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)
      at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1440)
      at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1158)
      at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1179)
      at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1099)
      at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
      at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1633)
      at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:935)
      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1083)
      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:985)
      at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:823)
      at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
      at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:782)
      at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)
      at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
      at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:371)
      at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:256)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
      at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:637)
      Caused by: org.jboss.soa.esb.ConfigurationException: Unexpected exception while instantiating action instance
      at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.getActionClassInstance(ActionProcessorMethodInfo.java:359)
      at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.getActionClassInstance(ActionProcessorMethodInfo.java:340)
      at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.<init>(ActionProcessingPipeline.java:275)
      at org.jboss.soa.esb.listeners.message.MessageAwareListener.doInitialise(MessageAwareListener.java:185)
      ... 61 more
      Caused by: java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
      at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.getActionClassInstance(ActionProcessorMethodInfo.java:355)
      ... 64 more
      Caused by: org.jboss.soa.esb.ConfigurationException: java.io.IOException: No such file or directory
      at org.jboss.soa.esb.actions.soap.proxy.SOAPProxy.<init>(SOAPProxy.java:153)
      ... 69 more
      Caused by: java.io.IOException: No such file or directory
      at java.io.UnixFileSystem.createFileExclusively(Native Method)
      at java.io.File.checkAndCreate(File.java:1704)
      at java.io.File.createTempFile(File.java:1792)
      at org.jboss.soa.esb.actions.soap.proxy.SOAPProxyWsdlLoader.createTempFile(SOAPProxyWsdlLoader.java:139)
      at org.jboss.soa.esb.actions.soap.proxy.SOAPProxyWsdlLoader.findRelative(SOAPProxyWsdlLoader.java:238)
      at org.jboss.soa.esb.actions.soap.proxy.SOAPProxyWsdlLoader.findRelative(SOAPProxyWsdlLoader.java:268)
      at org.jboss.soa.esb.actions.soap.proxy.SOAPProxyWsdlLoader.findRelative(SOAPProxyWsdlLoader.java:268)
      at org.jboss.soa.esb.actions.soap.proxy.SOAPProxyWsdlLoader.filterFile(SOAPProxyWsdlLoader.java:187)
      at org.jboss.soa.esb.actions.soap.proxy.SOAPProxyWsdlLoader.load(SOAPProxyWsdlLoader.java:151)
      at org.jboss.soa.esb.actions.soap.proxy.SOAPProxy.<init>(SOAPProxy.java:147)
      ... 69 more
      14:41:36,843 INFO [EsbDeployment] Destroying 'MMx_WS_consumer_2.esb'
      14:41:36,843 WARN [ServiceMessageCounterLifecycleResource] Calling cleanup on existing service message counters for identity ID-14
      14:41:36,843 WARN [SmooksResource] Closing smooks resources for identity ID-14
      14:41:36,898 INFO [TomcatDeployment] deploy, ctxPath=/MMx_WS_consumer_2
      14:41:36,976 WARNING [config] Unable to process deployment descriptor for context '/MMx_WS_consumer_2'
      14:41:36,976 INFO [config] Initializing Mojarra (1.2_13-b01-FCS) for context '/MMx_WS_consumer_2'
      14:41:37,132 INFO [ServiceInvoker] Service: MyServiceCategory:MMxWebServiceConsumer not found in the registry
      14:41:37,138 WARN [HDScanner] Failed to process changes
      org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

      DEPLOYMENTS IN ERROR:
      Deployment "jboss.esb.vfsfile:/Users/uaarkoti/Sandbox/SOA/jboss-soa-p-standalone.5.0.0/jboss-esb/server/default/deploy/MMx_WS_consumer_2.esb/" is in error due to the following reason(s): java.io.IOException: No such file or directory

      at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:994)
      at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:940)
      at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:873)
      at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.checkComplete(MainDeployerAdapter.java:128)
      at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:378)
      at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:256)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
      at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:637)

        Gliffy Diagrams

          Attachments

          1. MMFinan_getcustomers.xml
            1 kB
            Udaypal Aarkoti
          2. MyFinan.xml
            8 kB
            Udaypal Aarkoti

            Issue Links

              Activity

                People

                • Assignee:
                  dward David Ward
                  Reporter:
                  udaypal.aarkoti Udaypal Aarkoti
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: