WebServiceException

本文解决了使用CXF实现WebService时出现的“Could not find wsdl:bindingoperationinfo for webmethod test”异常问题。通过在接口类上添加@WebService注解,并在需要的方法上添加@WebMethod注解来解决绑定类型的问题。

在用cxf做webservice的时候,在写客户端程序的时候,出现以下异常:

Could not find wsdl:binding operation info for web method test

 

Exception in thread "main" javax.xml.ws.WebServiceException: Could not find wsdl:binding operation info for web method test.
	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:113)
	at $Proxy29.test(Unknown Source)
	at com.abc.test.UserTest.main(UserTest.java:10)

 原因:无法接收(绑定)返回的类型

 

解决办法:在接受的类文件(接口)的上面加上一个annotation注解。

 

 

import javax.jws.WebService;
@WebService//很重要
public interface UserService {
	public String test(String userName);
}

 然后就OK了,有的webservice的方法上面还要添加“@WebMethod”注解才可以!

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userServiceEndpoint' defined in class path resource [port/CxfConfig.class]: Failed to instantiate [jakarta.xml.ws.Endpoint]: Factory method 'userServiceEndpoint' threw exception with message: jakarta.xml.ws.WebServiceException: Could not load Webservice SEI at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:648) ~[spring-beans-6.1.14.jar:6.1.14] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:485) ~[spring-beans-6.1.14.jar:6.1.14] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1355) ~[spring-beans-6.1.14.jar:6.1.14] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1185) ~[spring-beans-6.1.14.jar:6.1.14] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562) ~[spring-beans-6.1.14.jar:6.1.14] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.14.jar:6.1.14] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337) ~[spring-beans-6.1.14.jar:6.1.14] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.14.jar:6.1.14] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) ~[spring-beans-6.1.14.jar:6.1.14] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.1.14.jar:6.1.14] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975) ~[spring-beans-6.1.14.jar:6.1.14] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:971) ~[spring-context-6.1.14.jar:6.1.14] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:625) ~[spring-context-6.1.14.jar:6.1.14] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.3.5.jar:3.3.5] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.3.5.jar:3.3.5] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.3.5.jar:3.3.5] at org.springframework.boot.SpringApplication.run(SpringApplication.java:335) ~[spring-boot-3.3.5.jar:3.3.5] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1363) ~[spring-boot-3.3.5.jar:3.3.5] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1352) ~[spring-boot-3.3.5.jar:3.3.5] at port.PortTestApplication.main(PortTestApplication.java:10) ~[classes/:na] Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [jakarta.xml.ws.Endpoint]: Factory method 'userServiceEndpoint' threw exception with message: jakarta.xml.ws.WebServiceException: Could not load Webservice SEI at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:178) ~[spring-beans-6.1.14.jar:6.1.14] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:644) ~[spring-beans-6.1.14.jar:6.1.14] ... 19 common frames omitted Caused by: jakarta.xml.ws.WebServiceException: jakarta.xml.ws.WebServiceException: Could not load Webservice SEI at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:373) ~[cxf-rt-frontend-jaxws-4.1.1.jar:4.1.1] at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:255) ~[cxf-rt-frontend-jaxws-4.1.1.jar:4.1.1] at port.CxfConfig.userServiceEndpoint(CxfConfig.java:22) ~[classes/:na] at port.CxfConfig$$SpringCGLIB$$0.CGLIB$userServiceEndpoint$0(<generated>) ~[classes/:na] at port.CxfConfig$$SpringCGLIB$$FastClass$$1.invoke(<generated>) ~[classes/:na] at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:258) ~[spring-core-6.1.14.jar:6.1.14] at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:348) ~[spring-context-6.1.14.jar:6.1.14] at port.CxfConfig$$SpringCGLIB$$0.userServiceEndpoint(<generated>) ~[classes/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:146) ~[spring-beans-6.1.14.jar:6.1.14] ... 20 common frames omitted Caused by: jakarta.xml.ws.WebServiceException: Could not load Webservice SEI at org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialize(JaxWsImplementorInfo.java:301) ~[cxf-rt-frontend-jaxws-4.1.1.jar:4.1.1] at org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(JaxWsImplementorInfo.java:60) ~[cxf-rt-frontend-jaxws-4.1.1.jar:4.1.1] at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:401) ~[cxf-rt-frontend-jaxws-4.1.1.jar:4.1.1] at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:336) ~[cxf-rt-frontend-jaxws-4.1.1.jar:4.1.1] ... 30 common frames omitted Caused by: java.lang.ClassNotFoundException: com.example.demo.UserService at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[na:na] at org.apache.cxf.common.classloader.ClassLoaderUtils.loadClass2(ClassLoaderUtils.java:319) ~[cxf-core-4.1.1.jar:4.1.1] at org.apache.cxf.common.classloader.ClassLoaderUtils.loadClass(ClassLoaderUtils.java:279) ~[cxf-core-4.1.1.jar:4.1.1] at org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialize(JaxWsImplementorInfo.java:299) ~[cxf-rt-frontend-jaxws-4.1.1.jar:4.1.1] ... 33 common frames omitted
06-28
2025-10-10 10:31:48.084 [main] INFO c.sinosoft.pic.sinopicdeal.test.aa - 短信平台 -- 异常:org.apache.cxf.service.factory.ServiceConstructionException javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:360) at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:349) at javax.xml.ws.Service.getPort(Service.java:169) at com.sinosoft.pic.sinopicdeal.webService.SendSMSServiceImplService.getSendSMSServiceImplPort(SendSMSServiceImplService.java:72) at com.sinosoft.pic.sinopicdeal.test.aa.main(aa.java:66) Caused by: org.apache.cxf.service.factory.ServiceConstructionException at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:360) at org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:87) at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:425) at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:527) at org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:262) at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:199) at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:103) at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:91) at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:158) at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:142) at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:492) at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:358) ... 4 more Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 6 counts of IllegalAnnotationExceptions 两个类具有相同的 XML 类型名称 "{http://webservice.sinosoft.com/}sendSMSResponse"。请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称。 this problem is related to the following location: at com.sinosoft.pic.sinopicdeal.webService.jaxws_asm.SendSMSResponse this problem is related to the following location: at com.sinosoft.pic.sinopicdeal.webService.SendSMSResponse at public javax.xml.bind.JAXBElement com.sinosoft.pic.sinopicdeal.webService.ObjectFactory.createSendSMSResponse(com.sinosoft.pic.sinopicdeal.webService.SendSMSResponse) at com.sinosoft.pic.sinopicdeal.webService.ObjectFactory 两个类具有相同的 XML 类型名称 "{http://webservice.sinosoft.com/}sendSMSListResponse"。请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称。 this problem is related to the following location: at com.sinosoft.pic.sinopicdeal.webService.jaxws_asm.SendSMSListResponse this problem is related to the following location: at com.sinosoft.pic.sinopicdeal.webService.SendSMSListResponse at public com.sinosoft.pic.sinopicdeal.webService.SendSMSListResponse com.sinosoft.pic.sinopicdeal.webService.ObjectFactory.createSendSMSListResponse() at com.sinosoft.pic.sinopicdeal.webService.ObjectFactory 两个类具有相同的 XML 类型名称 "{http://webservice.sinosoft.com/}failedSendResponse"。请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称。 this problem is related to the following location: at com.sinosoft.pic.sinopicdeal.webService.jaxws_asm.FailedSendResponse this problem is related to the following location: at com.sinosoft.pic.sinopicdeal.webService.FailedSendResponse at public javax.xml.bind.JAXBElement com.sinosoft.pic.sinopicdeal.webService.ObjectFactory.createFailedSendResponse(com.sinosoft.pic.sinopicdeal.webService.FailedSendResponse) at com.sinosoft.pic.sinopicdeal.webService.ObjectFactory
最新发布
10-11
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值