2010-12-09 5 views
0

Когда я пытаюсь создать прокси веб-службы в java, я всегда получаю. Я смотрю на веб-сервис, но он работает, я могу его вызвать. Почему я не могу создать прокси?java.lang.NoClassDefFoundError при создании прокси

java.lang.NoClassDefFoundError: xxx/GetBibliografijeXml (wrong name: xxx/GetBibliografijeXML) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at oracle.j2ee.ws.common.processor.modeler.wsdl.SchemaAnalyzer.getValueClassBeanInfo(SchemaAnalyzer.java:465) at oracle.j2ee.ws.common.processor.modeler.wsdl.ComplexTypeBindingModeler.structuredType(ComplexTypeBindingModeler.java:142) at oracle.j2ee.ws.common.processor.modeler.wsdl.ComplexTypeBindingModeler.complexType(ComplexTypeBindingModeler.java:442) at oracle.j2ee.ws.common.processor.modeler.wsdl.LiteralSchemaTypeModeler.complexType(LiteralSchemaTypeModeler.java:495) at oracle.j2ee.ws.common.processor.modeler.wsdl.LiteralSchemaTypeModeler.schemaType(LiteralSchemaTypeModeler.java:373) at oracle.j2ee.ws.common.processor.modeler.wsdl.LiteralSchemaTypeModeler.globalElement(LiteralSchemaTypeModeler.java:446) at oracle.j2ee.ws.common.processor.modeler.wsdl.SchemaAnalyzer.schemaElementTypeToLiteralType(SchemaAnalyzer.java:403) at oracle.j2ee.ws.common.processor.modeler.wsdl.OperationModeler.getElementTypeToLiteralType(OperationModeler.java:588) at oracle.j2ee.ws.common.processor.modeler.wsdl.DocLiteralOperationModeler.buildInput(DocLiteralOperationModeler.java:527) at oracle.j2ee.ws.common.processor.modeler.wsdl.DocLiteralOperationModeler.buildOperation(DocLiteralOperationModeler.java:256) at oracle.j2ee.ws.common.processor.modeler.wsdl.OperationModeler.process(OperationModeler.java:93) at oracle.j2ee.ws.common.processor.modeler.wsdl.WSDLModeler.processSOAPOperation(WSDLModeler.java:1086) at oracle.j2ee.ws.common.processor.modeler.wsdl.WSDLModeler.processBindingOperation(WSDLModeler.java:1020) at oracle.j2ee.ws.common.processor.modeler.wsdl.WSDLModeler.createNewPort(WSDLModeler.java:884) at oracle.j2ee.ws.common.processor.modeler.wsdl.WSDLModeler.processPort(WSDLModeler.java:757) at oracle.j2ee.ws.common.processor.modeler.wsdl.WSDLModeler.processService(WSDLModeler.java:671) at oracle.j2ee.ws.common.processor.modeler.wsdl.WSDLModeler.internalBuildModel(WSDLModeler.java:396) at oracle.j2ee.ws.common.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:215) at oracle.j2ee.ws.common.processor.config.ModelInfo.buildModel(ModelInfo.java:173) at oracle.j2ee.ws.common.processor.Processor.runModeler(Processor.java:72) at oracle.j2ee.ws.tools.wsa.AssemblerTool.run(AssemblerTool.java:95) at oracle.j2ee.ws.tools.wsa.WsdlToJavaTool.createProxy(WsdlToJavaTool.java:356) at oracle.j2ee.ws.tools.wsa.Util.createProxy(Util.java:838) at oracle.jdeveloper.webservices.model.proxy.ProxyGenerator.doGeneration(ProxyGenerator.java:553) at oracle.jdeveloper.webservices.model.proxy.ProxyGenerator.generateImpl(ProxyGenerator.java:365) at oracle.jdeveloper.webservices.model.proxy.ProxyGenerator.mav$generateImpl(ProxyGenerator.java:77) at oracle.jdeveloper.webservices.model.proxy.ProxyGenerator$1ThrowingRunnable.run(ProxyGenerator.java:206) at oracle.jdeveloper.webservices.model.GeneratorUI$GeneratorAction.run(GeneratorUI.java:446) at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:551) at java.lang.Thread.run(Thread.java:595)

ответ

1

Ну, это выглядит как-то использует неправильный случай:

java.lang.NoClassDefFoundError: xxx/GetBibliografijeXml 
    (wrong name: xxx/GetBibliografijeXML) 

Обратите внимание на корпус "XML".

Проверяйте везде, что имя используется, и убедитесь, что дело согласовано везде. Является ли класс автогенерированным или вы сами создали?

Также имейте в виду, что если вы используете операционную систему без учета регистра и классы загружаются прямо с диска (без выхода из файла jar и т. Д.), Это может быть поиск старого файла класса - вы выиграли не может иметь два класса, имена которых отличаются только в случае с такой файловой системой, поскольку файлы классов будут сталкиваться. Если ваш WSDL использует оба случая, он может иметь сгенерированный два класса, но тогда вы получите только один файл на диске :(

Смежные вопросы