首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Jax生成代理web服务客户端时出错

使用Jax生成代理web服务客户端时出错
EN

Stack Overflow用户
提问于 2011-06-02 09:47:45
回答 2查看 7.8K关注 0票数 5

我想知道我是否可以在下面的问题上得到一些帮助。

我尝试使用jax运行以下命令以生成web服务客户端代理:

代码语言:javascript
复制
wsimport http://www.holidaywebservice.com/Holidays/HolidayService.asmx?WSDL

但是我得到了以下错误:

代码语言:javascript
复制
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\Asher>wsimport http://www.holidaywebservice.com/Holidays/HolidayService.asmx?WSDL
parsing WSDL...


[WARNING] src-resolve.4.2: Error resolving component 's:schema'. It was detected that 's:schema' is in namespace 'http:/
/www.w3.org/2001/XMLSchema', but components from this namespace are not referenceable from schema document 'http://www.h
olidaywebservice.com/Holidays/HolidayService.asmx?WSDL#types?schema1'. If this is the incorrect namespace, perhaps the p
refix of 's:schema' needs to be changed. If this is the correct namespace, then an appropriate 'import' tag should be ad
ded to 'http://www.holidaywebservice.com/Holidays/HolidayService.asmx?WSDL#types?schema1'.
  line 15 of http://www.holidaywebservice.com/Holidays/HolidayService.asmx?WSDL#types?schema1

[ERROR] undefined element declaration 's:schema'
  line 15 of http://www.holidaywebservice.com/Holidays/HolidayService.asmx?WSDL

[ERROR] undefined element declaration 's:schema'
  line 36 of http://www.holidaywebservice.com/Holidays/HolidayService.asmx?WSDL

[ERROR] undefined element declaration 's:schema'
  line 74 of http://www.holidaywebservice.com/Holidays/HolidayService.asmx?WSDL

[ERROR] undefined element declaration 's:schema'
  line 97 of http://www.holidaywebservice.com/Holidays/HolidayService.asmx?WSDL

[ERROR] undefined element declaration 's:schema'
  line 120 of http://www.holidaywebservice.com/Holidays/HolidayService.asmx?WSDL

[ERROR] undefined element declaration 's:schema'
  line 131 of http://www.holidaywebservice.com/Holidays/HolidayService.asmx?WSDL


C:\Users\Asher>

首先,我是不是做错了什么?最后,如果没有办法生成代理客户端,那么有没有其他方法可以访问这个webservice &它是java中的方法。我是java的新手,所以如果有任何帮助,我将非常感激。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-02 19:04:15

您是如何创建该WSDL的?看起来您引用了一些未在WSDL中导出的数据类型。

编辑

wsdl引用了名为“%s”的架构,但找不到它,因为它的URL是

http://www.w3.org/2001/XMLSchema,但应该是

http://www.w3.org/2001/XMLSchema.xsd

更改后,现在它还会抱怨http://www.27seconds.com/Holidays/也没有指向模式。您需要在您的WSDL副本中修复所有它们,然后使用它执行wsimport。

我还访问了www.holidaywebservice.com,发现还有第二个版本:http://www.holidaywebservice.com/HolidayService_v2/HolidayService2.asmx?wsdl

票数 4
EN

Stack Overflow用户

发布于 2012-09-12 02:54:41

您可以将XMLschema作为参数传递给wsimport

代码语言:javascript
复制
wsimport -b  http://www.w3.org/2001/XMLSchema.xsd  http://www.holidaywebservice.com/Holidays/HolidayService.asmx?WSDL

架构中存在潜在的架构名称冲突。一种解决方法是使用以下命令创建customization.xjb

代码语言:javascript
复制
<bindings xmlns="http://java.sun.com/xml/ns/jaxb" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" version="2.0">
<globalBindings>
<xjc:simple/>
</globalBindings>
<bindings scd="~xsd:complexType">
<class name="ComplexTypeType"/>
</bindings>
<bindings scd="~xsd:simpleType">
<class name="SimpleTypeType"/>
</bindings>
<bindings scd="~xsd:group">
<class name="GroupType"/>
</bindings>
<bindings scd="~xsd:attributeGroup">
<class name="AttributeGroupType"/>
</bindings>
<bindings scd="~xsd:element">
<class name="ElementType"/>
</bindings>
<bindings scd="~xsd:attribute">
<class name="attributeType"/>
</bindings>
</bindings>

你的终极目标是

代码语言:javascript
复制
wsimport -b  http://www.w3.org/2001/XMLSchema.xsd -b customization.xjb  http://www.holidaywebservice.com/Holidays/HolidayService.asmx?WSDL
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6209583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档