PHP写的webservice接口,为什么用myeclipse无法生成代理类?

问题描述

现在我要用java测试调用php写的webservice接口,我在myeclipse中新建webservice client过程中,添加WSDL URL时,无法生成代理类了!提示:WSDL file has validation errors. Code generation may failsrc-resolve.4.2: Error resolving component 'SOAP-ENC:Array'.It was detected that 'SOAP-ENC:Array' is in namespace 'http://schemas.xmlsoap.org/soap/encoding/',but componets from this namespace are not referenceable from schema document 'http://....'。问题补充:这是wsdl: <?xml version="1.0" encoding="UTF-8" ?> - <wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schema.example.com" targetNamespace="http://schema.example.com">- <wsdl:types>- <xsd:schema targetNamespace="http://schema.example.com">- <xsd:complexType name="GetListArray">+ <xsd:complexContent>- <xsd:restriction base="SOAP-ENC:Array"> <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:GetList[5]" /> </xsd:restriction> </xsd:complexContent> </xsd:complexType>- <xsd:complexType name="GetList">- <xsd:all> <xsd:element name="apikey" type="xsd:string" /> <xsd:element name="code" type="xsd:string" /> <xsd:element name="keyword" type="xsd:string" /> <xsd:element name="name" type="xsd:string" /> <xsd:element name="price" type="xsd:float" /> </xsd:all> </xsd:complexType> </xsd:schema> </wsdl:types>- <message name="getRequest"> <part name="apikey" type="xsd:string" /> <part name="keyword" type="xsd:string" /> </message>- <message name="getResponse"> <part name="getReturn" type="tns:GetListArray" /> </message>- <wsdl:portType name="TestPortType">- <wsdl:operation name="get"> <wsdl:input message="tns:getRequest" /> <wsdl:output message="tns:getResponse" /> </wsdl:operation> </wsdl:portType>- <binding name="TestBinding" type="tns:TestPortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> - <wsdl:operation name="get"> <soap:operation soapAction="http://test.cnfol.com/project/wshelper/service.php?class=Test&method=get" style="rpc" /> - <wsdl:input> <soap:body use="encoded" namespace="http://schema.example.com" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </wsdl:input>- <wsdl:output> <soap:body use="encoded" namespace="http://schema.example.com" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> </wsdl:output> </wsdl:operation> </binding>- <wsdl:service name="Test">- <wsdl:port name="TestPort" binding="tns:TestBinding"> <soap:address location="http://test.cnfol.com/project/soap/TestService.php" /> </wsdl:port> </wsdl:service> </wsdl:definitions>

解决方案

opensky85 写道你好!有空吗?帮我看看《PHP写的webservice接口,为什么用myeclipse无法生成代理类?》这个问题,我对问题进行了补充,希望你能抽空给我回答下,很希望能得到你的回答!谢谢!看了一下,你的这个定义<xsd:complexType name="GetListArray">名字是不是有问题,WSDL规定 阵列名称类型必须是「ArrayOf」这个开头,你改成 ArrayOfGetListArray 试试
解决方案二:
现在看,你两边的命名控件好像不匹配具体没有代码没法判断,你自己好好查一下命名空间先

时间: 2024-10-26 22:07:59

PHP写的webservice接口,为什么用myeclipse无法生成代理类?的相关文章

asp调用java 写的webservice接口怎么用啊!(在线等)

问题描述 路过的各位朋友,asp调用java写的webservice接口怎么用啊!一个很简单的例子,就是传个参数进去,然后返回出来就可以了! 解决方案 解决方案二:根据权威机构的调查,搜索引擎的前4名网站一般会获得较高的访问量.但是如果想要使自己的网站排在前4名,竞价花费的价格是非常高的.而花费少的话,网站排名靠后,导致竞价排名的效果大打折扣.毫无疑问,每个客户都希望自己的网站排在搜索引擎的首页,但是同样是页,第一名和第十名的竞价价格也许会2倍甚至更多.对于大多说发展期的公司来说,往往需要抉择选

WEBSERVICE WSDL生成代理类 失败

问题描述 我引用JAVA的WebService正常情况会自动生成代理类,结果发现没有生成,于是我手动生成提示如下错误错误:无法从命名空间"urn:http.service.common.webservice.dqmis.ypeg.cn"导入绑定某WebServiceSoapBinding".-无法导入操作"subData".-缺少数据类型"DataHandler"(应该JAVA内置对象,这个错误导致不能生成成功)请教各位有经验的朋友怎么

.net调用java的webservice无法生成代理类

问题描述 全部的wsdl内容如下:<?xmlversion="1.0"encoding="UTF-8"?>-<wsdl:definitionsxmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:types="/com/zngh/platform/service/model/common/types/"xmlns:tns="/com/zngh/plat

shh项目错误-MyEclipse下生成持久化类,查询出错了

问题描述 MyEclipse下生成持久化类,查询出错了 java.lang.RuntimeException: org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute query; SQL [select user0_.userID as col_0_0_, user0_.userName as col_1_0_, user0_.userPassword as col_2_0_ from

MyEclipse逆向生成实体类和Hibernate映射文件

开发项目涉及到的表太多,一个一个的写JAVA实体类很是费事.MyEclipse提供简便的方法:反向数据库 步骤大致如下: 第一步: window-->open Perspective-->MyEclipse Java Persistence 操作后会出现一个视图DB Brower:MyEclipse Derby 在空白区点击右键,新建一个数据库对象.我用的是mysql,其实我一直想用oracle之类的,只是机子内存小,又懒得倒腾别的,结果截个图吧: 左边的属性按照自己使用的数据库填就行了,左边

.net如何调用java的webservice接口

问题描述 急!.net如何调用java的webservice接口?? 解决方案 解决方案二:我java写的webservice接口有两个方法,一个返回对象,一个返回集合.有那位高手指教一下!!!解决方案三:引用1楼lingsuikaixin的回复: 我java写的webservice接口有两个方法,一个返回对象,一个返回集合.有那位高手指教一下!!! 这个估计不统一,不好能.要不征程字符船算求了.

C#调用Java写的WebService问题

问题描述 我在用.net调用Java写的WebService时候出现如下错误1:在工程里无法添加服务器的引用我搜了网上的方法,说是用wsdl.exe生成代理类,然后在代理类的头部加上soap的那一段代码但是现在的问题是,因为soap的格式问题,他生成不了代理类 解决方案

WSDL手动生成WebService代理类的方法

通常要手动生成WebService代理类需要把一句生成语句,如 wsdl.exe /l:cs /out:D:\Proxy_UpdateService.cs http://localhost:1101/UpdateService.asmx?wsdl拷贝到Visual Studio 2005 命令提示窗口中去执行,这里再介绍另一个办法. 首先打开Visual Studio 2005,选择菜单"工具"-"外部工具"打开外部工具对话框,如图,单击"添加"

web service-已知wsdl文件,如何写webservice接口

问题描述 已知wsdl文件,如何写webservice接口 现在别人发了一个wsdl文件和一些接口参数说明给我.请问我如何调用这个接口. wsdl内容大致如下 解决方案 有地址,那么在vs里面项目-添加服务引用,填入地址即可 解决方案二: 根据wsdl2java直接生成客户端,然后调用就行 解决方案三: 这个webservice接口好简单,用RPCServiceClient调用就很方便 参见AXIS2的org.apache.axis2.rpc.client.RPCServiceClient类中的