[JBossWS] - What does " Cannot get port meta data for...." mean?
by jorgemoralespou_2
I have webservice deployed that acts as a ws client application running in my app. I create a pool of clients to invoke different endpoints, and when starting my app, I get the following trace:
anonymous wrote :
| 2008-10-22 17:02:29,744 WARN [org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl] Cannot get port meta data for: {http://www.csapi.org/wsdl/parlayx/multimedia_messaging/send/v2_4/service}SendMessage
|
I create stubs like this:
| QName qname = new QName(
| "http://www.csapi.org/wsdl/parlayx/sms/send/v2_2/service",
| "SendSmsService");
| SendSmsService service = new SendSmsService(null, qname);
| SendSms a = service.getSendSms();
| return a;
|
When I make a request, everything goes as expected. An error if backend is not reachable (backend app is stopped) or backend response if everything is fine, so I don't really know if this trace is relevant at all, or the real meaning for this trace.
I have tried to initialize the Service with a URL rather than null, with different behaviour.
If I set, like explained in the forums:
anonymous wrote :
| new URL("WEB-INF/wsdl/parlayx_sms_send_service_2_2.wsdl");
|
A MalformedURLException is thrown:
anonymous wrote :
| java.net.MalformedURLException: no protocol: WEB-INF/wsdl/parlayx_sms_send_service_2_2.wsdl
|
If I set a protocol, like:
anonymous wrote :
| new URL("resource:WEB-INF/wsdl/parlayx_sms_send_service_2_2.wsdl");
|
The resource is not found, and the service is not started.
anonymous wrote :
| [org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl] Cannot access wsdlURL: resource:WEB-INF/wsdl/parlayx_sms_send_service_2_2.wsdl
|
I have tried different locations, so, what is correct way of doing this for clients?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4183890#4183890
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4183890
16 years, 2 months
[JBossWS] - custom java type mapping in WS in JBoss
by mpelze
Hello,
is it possible to customize the JAXB mapping Jboss uses when deserializing an incoming SOAP message for a web service or serializing an outgoing message?
My problem is that I want to send and receive maps containing lists over a web service (implemented as EJB stateless session bean annotated as @WebService) in JBoss. JBoss uses jax-ws for web services and jax-ws uses jaxb for mapping Java classes to XML structures. Jaxb is not able to handle maps containing lists, so I have to define a custom mapping providing custom serializers / deserializers. I found out that there is the possibility in jaxb to write a configuration file for custom mappings that can look like this:
<bindings xmlns="http://java.sun.com/xml/ns/jaxb" version="2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
| <globalBindings>
| <javaType name="my.package.MyClas" xmlType="xs:someName"
| parseMethod="my.package.MyParser.parse"
| printMethod="my.package.MyParser.print"
| />
| </globalBindings>
| </bindings>
Ist there a possibility to provide such a file to JBoss so that it will be used when (de-)serializing SOAP messages for or from my web services?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4183830#4183830
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4183830
16 years, 2 months
[JBossWS] - Mapping @WebContext in ejb jar to context path in war (singl
by kr8m3r_78
I am using JBoss 4.2.3, with Java 1.5.
I have a war that is bundled inside an EAR, this context path is: /testWeb
This is defined in the jboss-web.xml under the WEB-INF directory of the war.
<jboss-web>
| <security-domain>java:/jaas/aipDBCheck</security-domain>
| <context-root>/testWeb</context-root>
| </jboss-web>
|
However, I also have a web service I would like to be accessible via the same context path. I have the @WebContext annotation specifying the same context path as defined below.
| @javax.jws.WebService(
| targetNamespace =
| "http://xxx.xxx.xxx.com/"
| ,
| serviceName =
| "SupplierAccessService"
| ,
| portName =
| "SupplierAccessPort"
| ,wsdlLocation = "META-INF/wsdl/SupplierAccessService.wsdl"
| )
| @Stateless
| @WebContext(contextRoot = "/testWeb", urlPattern = "/SupplierAccessPort", authMethod = "BASIC", transportGuarantee = "NONE", secureWSDLAccess = false)
| @RolesAllowed("supplier")
| @SecurityDomain("aipDBCheck")
|
| public class SupplierAccessDelegate implements SupplierAccessDelegateLocal,
| SupplierAccessDelegateRemote {
|
However, if I access http://localhost:8080/testWeb/SupplierAccessPort I get a 404 error, presumably because the WAR has received precedence over the context in the EJB.
I can see that the EJB creates its own deployment, and a new jboss-web.xml and web.xml file is created and exploded into the tmp directory as if it were a new web app.
Even though both these exploded web apps have the same context path there are no errors during start up.
I can only get my web service to work if I define a separate context in the annotation.
Can someone please let me know if this is possible, or do I need to define two different context paths in order for my web service to be accessible?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4183716#4183716
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4183716
16 years, 2 months
[JBossWS] - Re: WebServiceContext injection. Was it fixed or not?
by rishabh2u
ggary so did it work for you finally then ???
I am using jboss423 on java 5 and cant seem to get it to work.
Then because of the hug u mentioned, i also tried using 421 and jbossws 201 but still it does not work.
@WebService(name = "CreditCard", serviceName = "CreditCard",
| wsdlLocation = "/WEB-INF/wsdl/CreditCard.wsdl",
| targetNamespace = "http://aig.al.com/APCWebServices/CreditCardService/",
| endpointInterface = "com.al.aig.apc.ws.creditcard.server.generated.CreditCard")
| @SOAPBinding(style = Style.DOCUMENT)
| public class CreditCardService_Impl implements CreditCard{
|
| @Resource
| WebServiceContext wsContext;
|
| Logger log = Logger.getLogger(CreditCardService_Impl.class);
|
| @WebMethod(operationName = "createCreditCard")
| public CreateCreditCardResponse createCreditCard(
| @WebParam(name = "parameters") CreateCreditCardInput parameters) {
|
| log.debug("createCreditCard:entering.");
| CreateCreditCardResponse drResp = new CreateCreditCardResponse();
| System.out.println("addSecondaryMsisdn() called..................");
|
| if (wsContext == null) {
| System.out.println("its NULLL..");
| } else {
| System.out.println("ITS NOT NULL");
| }
|
| log.debug("createCreditCard:exiting.");
| return drResp;
| }
|
This is the code that i ahve got, nothing special here. I have handwritten the WSDL for this webservice.
Does the WebServiceContext injection depend on the binding type or something.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4183691#4183691
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4183691
16 years, 2 months