WSDL Endpoint示例在Mule中抛出错误

时间:2013-04-19 09:46:00

标签: wsdl mule esb

在这里发帖总是我的最后一招,但我在这里疯了。我是Mule ESB的初学者。我一直试图做一些简单的例子让我走上正轨。 但是我在mule网站上看到的其中一个例子遇到了问题...... http://www.mulesoft.org/documentation/display/current/WSDL+Connectors

我正在尝试设置一个通用的WSDL端点,它可以在不生成客户端的情况下调用Web服务。

我正在尝试访问的WSDL ...    http://www.webservicex.net/CurrencyConvertor.asmx?WSDL&method=ConversionRate

问题是,我一直收到以下错误

[ERROR] IOException during exec() of compiler "javac". Check your path environment variable.
ERROR 2013-04-19 09:27:07,920 [[soap].soapFlow1.stage1.02] org.apache.cxf.endpoint.dynamic.DynamicClientFactory: Could not compile java files for http://www.webservicex.net/CurrencyConvertor.asmx?WSDL&method=ConversionRate?wsdl.
ERROR 2013-04-19 09:27:07,934 [[soap].soapFlow1.stage1.02] org.mule.exception.DefaultMessagingExceptionStrategy: 
********************************************************************************
Message               : Unable to create JAXBContext for generated packages: Provider com.sun.xml.bind.v2.ContextFactory could not be instantiated: javax.xml.bind.JAXBException: "net.webservicex" doesnt contain ObjectFactory.class or jaxb.index (java.lang.IllegalStateException)
Code                  : MULE_ERROR--2
--------------------------------------------------------------------------------
Exception stack is:
1. "net.webservicex" doesnt contain ObjectFactory.class or jaxb.index (javax.xml.bind.JAXBException)
  com.sun.xml.bind.v2.ContextFactory:183 (http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/xml/bind/JAXBException.html)
2. Provider com.sun.xml.bind.v2.ContextFactory could not be instantiated: javax.xml.bind.JAXBException: "net.webservicex" doesnt contain ObjectFactory.class or jaxb.index (javax.xml.bind.JAXBException)
  javax.xml.bind.ContextFinder:-1 (http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/xml/bind/JAXBException.html)
3. Unable to create JAXBContext for generated packages: Provider com.sun.xml.bind.v2.ContextFactory could not be instantiated: javax.xml.bind.JAXBException: "net.webservicex" doesnt contain ObjectFactory.class or jaxb.index (java.lang.IllegalStateException)
  org.apache.cxf.endpoint.dynamic.DynamicClientFactory:363 (null)
4. Unable to create JAXBContext for generated packages: Provider com.sun.xml.bind.v2.ContextFactory could not be instantiated: javax.xml.bind.JAXBException: "net.webservicex" doesnt contain ObjectFactory.class or jaxb.index (java.lang.IllegalStateException) (org.mule.api.DefaultMuleException)
  org.mule.module.cxf.builder.AbstractOutboundMessageProcessorBuilder:96 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/DefaultMuleException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
javax.xml.bind.JAXBException: "net.webservicex" doesnt contain ObjectFactory.class or jaxb.index
    at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:183)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************

是的,我在互联网上寻找解决方案几个小时。

我尝试解决问题的方法。

  • 确保在环境变量中设置了javac路径。 (%JAVA_HOME%\ bin)中
  • 确保mule studio有正确的JRE路径


我知道这是一个简单的问题,但我需要弄明白,以解决我想到的更大的项目 如果有人能解决这个问题的解决方案,那么我将非常感激。

谢谢 :)

其他信息:

  • 使用Java 1.7
  • 使用MuleStudio 3.4

1 个答案:

答案 0 :(得分:0)

好的,经过尝试和失败的许多不同的解决方案,我已经弄明白了。 我见过很多人问我同样的问题,只有很少的解决方案。
这是我的...

JRE不正确。
我的java目录包含..
enter image description here
而Mule工作室正在使用jre7文件夹
所以我把它更改为在目录jdk1.7.0_17 / jre中使用JRE 再次跑了.. OMG有效!!
以下是如何在mule studio / eclipse中进行操作...

右键单击您的项目 - >属性 - > Java构建路径 - >图书馆标签
- >单击JRE系统库 - >按编辑 - >点击备用JRE - >点击已安装的JRE ..
- >然后像我上面说的那样从正确的目录中添加JRE。

希望这可以帮助任何有同样问题的人! :)