org.apache.axiom.om.util.AXIOMUtil cannot be resolved

谁都会走 提交于 2019-12-11 07:31:22

问题


I'm trying to generate some stubs for a WSDL (using xmlbeans) and keep running into some issues. I'm using the following page:

http://axis.apache.org/axis2/java/core/docs/userguide-creatingclients-xmlbeans.html

The only part of these steps that I'm skipping is the "client.java" part because I already have another project ready I want to plug the resulting jars into. A quick run down of my steps are as follows:

  • My WSDL is a crmonline instance, so I run something like this:

C:\Work\aaa2>WSDL2Java -uri https://mycrmorgname.crm.dynamics.com/XRMServices/2011/Organization.svc?wsdl -p crmsdk -d xmlbeans -s -o c:\mystubfolder

  • I build the project using "ant"

  • In my "client" project I reference the 2 jars created in .\build\lib

My project builds fine once I add all my axis2 / apache references etc, but when I launch it through playframework I get errors when I hit the first page. The first error seems to be:

17:48:45,289 ERROR ~ Error in ControllersEnhancer. 
controllers.ProfileController.editProfile has not been properly enhanced 
(fieldAccess javassist.expr.FieldAccess@212ca458).

or something similar to that. Scrolling down through the error I can see that I'm getting this:

The file /app/models/MyDynamicsClient.java could not be compiled. 
Error raised is : org.apache.axiom.om.util.AXIOMUtil cannot be resolved

Now, I haven't even hit any of my web services yet, or even instantiated any of my classes ... I'm at a loss as to why this is happening. Or to be more accurate, what exactly am I messing up! Am I missing a reference to something? Doing a search on AXIOMUtil tells me this should be in Axiom-api (version I have is Axiom-api-1.2.10.jar). I have this referenced and doesn't seem to help. Or maybe I'm doing something else wrong someplace?

Some details on versions:

  • Axis2 1.5.4
  • Apache-ant 1.8.3

Any help would be very much appreciated!!


回答1:


Ok, after trying a lot of different things and rereading the sites/instructions I realised what I was doing wrong. Or at least I figured out a couple of things that I started to do differently that fixed the problem.

Firstly, I was using jar files from another sample project for the apache http components. I don't know if this had an impact, but I downloaded a fresh version of this anyway and referenced those JARS instead.

Also, instead of creating jars in my "stub" project and referencing those I copied all the generated stubs/classes directly into the existing client project. I have a feeling this might have been what fixed my problem. Or maybe a mix of this and the previous step I did!

So my new steps are as follows:

  1. Ensure you have all the correct versions downloaded for required components. In my case I have the following:

    • Apache Axis 2 v 1.5.4
    • Apache HTTP components client 4.1.3
    • Apache-ant 1.8.3
  2. Copy all the JARS from the Axis2 and HTTP Components libs into your client project and reference them.

  3. Use WSDL2Java to create your stubs and classes within it's own project.

  4. Ensure the project builds using Ant

  5. Copy all the generated class files within the src folder into the source folder of your client.

  6. Fix any other reference isssues and Build

Thankfully this got me going.



来源:https://stackoverflow.com/questions/9725755/org-apache-axiom-om-util-axiomutil-cannot-be-resolved

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!