RPC Style Web Service and SSL

Hi,
Has anyone tried (and maybe succeeded) in accessing an
RPC-style Web Service deployed on WebLogic Server 6.1 using
SSL? I have a Web Service deployed and am able to access it using JNDI and the
weblogic.soap.http.SoapInitialContextFactory
INITIAL_CONTEXT_FACTORY. However, when I try to set the
Context.SECURITY_PROTOCOL to "ssl" and access the secure port,
I get a "java.net.SocketException: Unexpected end of file from
the server" error message.
Does the weblogic.soap.http.SoapInitialContextFactory not
support SSL? Do I need to do the SOAP/XML messaging myself,
without being able to make use of the WebLogic convenience
classes? Thanks! Rob

Alright!
Glad you got it working ;-)
Actually, the problem with the protocol being hardcoded to http in the wsdl.jsp,
is a bit strange. It's unusual that the BEA engineers that coded the wsgen component
and support classes, didn't use something like the following:
<soap:address location="<%= request.getScheme() + "://" + request.getServerName()
+ ":" + request.getServerPort() %>/security/examples/webservices/security/PhoneBookService"/>
I don't use wsgen too much, because I need to have more control over the J2EE
packaging. It (wsgen) is great for spitting out stuff, but not really setup for
doing Web service packaging that use classes (i.e. helper files, frameworks, etc.)
that it doesn't generate. I think they (BEA) might be looking into integrating
the Web Services assembly process with other tools like WebGain, Forte, etc. to
alleviate these types of issues.
Anyway, glad you got it working, so now you can help somebody else (time permitting,
of course) with this topic in the future!
Regards,
Mike Wooten
"Rob Nelson" <[email protected]> wrote:
>
Mike,
Thank you very much for your response! The next to
last sentence did it for me (when you mentioned checking
that the location attribute of the soap:address element
was set properly)! I noticed that when I viewed the WSDL
file via the browser (by clicking on the link in the
index.html page), I saw http://host:<unsecure_port> when
I requested it over the unsecure port, but I saw
http://host:<secure_port> when I requested the WSDL over
the secure port. Notice it did not say https!
So, I unjarred the EAR file that was generated by my
wsgen task, and then unjarred the generated WAR file
contained therein. When I looked at wsdl.jsp, I noticed
that "http" was hard-coded in the location attribute, but
that the host name and port number were dynamically
generated. So I added a scriplet to dynamically place an
"s" after "http" (if request.isSecure()) and rejarred up
the WAR and EAR files.
Now when I deployed the EAR file, I see "https" when
I request the WSDL over the secure port, and my client
(actually your client;) works! Awesome! I really appreciate
your help! Now my only issue is why did the wsdl.jsp have
"http" hard-coded, not accounting for secure requests.
These files were generated by the WSGEN task in ANT.
I figure it's either: I have a configuration problem,
I have a problem with my ANT build script, my version of
WebLogic Server (6.1 w/SP1 built 9/18/2001) has a bug, or
maybe you just have to manually go in and modify the wsdl.jsp
file if you want to use https :(. Please let me know if
you have any insight on this, and I will also follow up
with WebLogic support. Thanks again! Rob
"Michael Wooten" <[email protected]> wrote:
Hi Rob,
I am absolutely sure the code I posted works, so we need to approach
this from
a different angle ;-)
First, I know why the Context.SECURITY_PROTOCOL approach doesn't works.
It's because
the namespace in the Web Services code examples is not the same oneas
the one
used for RMI objects, EJBs, JDBC Data Sources, etc. For those objects,
the Context.PROVIDER_URL
is something like "t3://localhost:7001", and the INITIAL_CONTEXT_FACTORY
is "weblogic.jndi.WLInitialContextFactory".
The one being used with WebLogic Web Services, is mainly just functioning
as a
mechanism for manufacturing WebServiceProxy objects, because it is a
non-instanciable!
It does this by using a subclass of javax.naming.Context called SOAPContext,
which
is completely hidden from you, but also doesn't do much except implement
the lookup()
method. The implementation of this method ignores the Context.SECURITY_URL
property,
but it does pay attention to the "java.naming.security.principal" and
"java.naming.security.credentials"
properties. You don't need these properties for SSL, just Basic Authentication.
Enough about that, though. The service end-point is a servlet right?
So this means
it has a URL that begins with http or https, which in turn means the
WebLogic
servlet engine gets the SOAP request and sends it to the StatelessSessionAdapter
servlet. To WLS, this is just like any other HTTP/HTTPS request sent
to it ;-)
There is no special "SOAP-related" HTTP/HTTPS handler in WLS, but the
SSL challenge
dance still happens. So my first question is, are you sure you havethe
HTTPS
attributes set properly in the WebLogic console. SSL/HTTPS should be
enabled and
the "Hostname Verification Ignored" checkbox should be checked. Next,
are you
sure the URL assigned to the location attribute of the <service> element
in the
WSDL is correct (i.e. https://localhost:7002)? Are you using the "dynamic
client"
approach?
Regards,
Mike Wooten
"Rob Nelson" <[email protected]> wrote:
Mike,
Thanks for your response. I downloaded the code example that
you
posted
last week, as well as the code example that you posted in October for
a similar
request (BEA Support pointed me towards that). Unfortunately, I still
can't get
the Web Service to respond to the client request when the client uses
the HTTPS
port for the WebLogic Server.
I tried two different client approaches. The first uses the client
code
that you posted in October, the WebServiceProxy approach. The second
approach
is based on the example in the WebLogic documentation, which uses the
weblogic.soap.SoapInitialContextFactory
class with the javax.naming.Context object to perform a lookup on the
service
(which closely resembles rmi without the narrowing).
Both client classes fail to invoke the the service itself viaHTTPS
(although
they both work when making HTTP requests to the unsecure port). However,
when
I run the client based on the client class that you posted in October
and make
an HTTPS request, I can see in the output where it is able to download
the WSDL
file and use it (via the WebServiceProxy) to describe the availablemethods
for
the associated Web Service. It is only when the actual invoke() method
is called
on the SoapMethod object (which in turn sends the XML request to the
Web Service
Servlet), that the server doesn't respond, and the client fails with
an UnexpectedEndOfFileException
(i.e. no response).
So, do you know why the servlet that the RPC-style Web Serviceuses
to handle
requests would not respond to HTTPS requests, when it processes HTTP
requests
without a problem (using the same client code that fails with the HTTPS
request)?
I am using WebLogic Server 6.1 w/SP1 on a Solaris 8 platform. Thanks
for any
advice you can give me! Rob
"Michael Wooten" <[email protected]> wrote:
Hi Rob,
Check out the attached zip for "insights" into how to do this. It
contains
the
code for two Web service "consumers" (that the new fangled word fora
"client")
and the web.xml and weblogic.xml for the RPC-style Web Service, that
they consume.
Hope this helps,
Mike Wooten
"Rob Nelson" <[email protected]> wrote:
Hi,
Has anyone tried (and maybe succeeded) in accessing an
RPC-style Web Service deployed on WebLogic Server 6.1 using
SSL? I have a Web Service deployed and am able to access it using
JNDI
and the
weblogic.soap.http.SoapInitialContextFactory
INITIAL_CONTEXT_FACTORY. However, when I try to set the
Context.SECURITY_PROTOCOL to "ssl" and access the secure port,
I get a "java.net.SocketException: Unexpected end of file from
the server" error message.
Does the weblogic.soap.http.SoapInitialContextFactory not
support SSL? Do I need to do the SOAP/XML messaging myself,
without being able to make use of the WebLogic convenience
classes? Thanks! Rob

Similar Messages

  • Retrieving client ip from RPC-style web service

    Hi,
    I've got an rpc-style web service and I would like to log the incoming client
    ip address (i.e. I need to get at the HTTPRequest object). Can this be done by
    passing some kind of SOAP context parameter in the argument list of my exposed
    methods? If this is not doable, is implementing SOAP message handlers the way
    to to go? I would rather not do the latter, as the web service is working well
    and don't want to play with my code too much.
    Thanks

    I tried this, following the example in http://e-docs.bea.com/wls/docs70/webapp/filters.html,
    but I still can't get it to work. The init() method gets called, but doFilter(ServletRequest
    req, ServletResponse resp, FilterChain fc) does not. The "filter" part of my
    web.xml looks like:
    <filter>
    <filter-name>serviceFilter</filter-name>
    <filter-class>webservices.ServiceFilterImpl</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>serviceFilter</filter-name>
    <url-pattern>/myPattern/myWebService</url-pattern>
    </filter-mapping>
    The only thing I could thing of is that maybe my url-pattern is wrong, although
    this seems unlikely as my web service is able to process requests sent using
    http://myWLSMachine:7001/myPattern/myWebService.
    In fact, in the the WLS access.log file, I have:
    [07/Oct/2002:11:51:01 -0400] "POST /myPattern/myWebService HTTP/1.0" 200 3011.
    Do you know if there's something in the JAX-RPC API that I could use to get at
    the client ip address? I dug through the documentation and came across something
    called "ServletEndpointContext", but I'm not sure if this will do the trick.
    Thanks for your time,
    Danielle
    "manoj cheenath" <[email protected]> wrote:
    One way to do this may be to write a servlet filter
    and map the filter to the URL of your service.
    regards,
    -manoj
    "Danielle Vella" <[email protected]> wrote in message
    news:[email protected]..
    Hi,
    I've got an rpc-style web service and I would like to log the incomingclient
    ip address (i.e. I need to get at the HTTPRequest object). Can thisbe
    done by
    passing some kind of SOAP context parameter in the argument list ofmy
    exposed
    methods? If this is not doable, is implementing SOAP message handlersthe
    way
    to to go? I would rather not do the latter, as the web service isworking
    well
    and don't want to play with my code too much.
    Thanks

  • RPC style web service client

    hi,
    i am new to web service technology. i want to create dynamic web service client for a "rpc" style web service in Netbeans.
    please, can anybody guide me for this?
    thanks in advance.

    Hi,
    To avoid creating new topic I will put my question here.
    I try to create new web service (rpc-style) client in netbeans. I have rpc plugin installed. In ejb module node I right click > new > web service client >
    I fill all filds, chose rpc-style and > after clicking finish - error occur:java.lang.LinkageError: com/sun/xml/rpc/processor/generator/Names
         at org.netbeans.modules.websvc.registry.util.Util.getParameterType(Util.java:856)
         at org.netbeans.modules.websvc.registry.jaxrpc.WrapperClientWriter.printOperations(WrapperClientWriter.java:275)
         at org.netbeans.modules.websvc.registry.jaxrpc.WrapperClientWriter.writeClass(WrapperClientWriter.java:219)
         at org.netbeans.modules.websvc.registry.jaxrpc.Wsdl2Java.createWrapperClients(Wsdl2Java.java:305)
         at org.netbeans.modules.websvc.registry.jaxrpc.Wsdl2Java.execute(Wsdl2Java.java:229)
         at org.netbeans.modules.websvc.registry.util.Util.createWSJar(Util.java:493)
         at org.netbeans.modules.websvc.registry.RegistryViewImpl.registerService(RegistryViewImpl.java:221)
         at org.netbeans.modules.websvc.registry.RegistryViewImpl.registerService(RegistryViewImpl.java:159)
         at org.netbeans.modules.websvc.registry.netbeans.RegisterViewImplNetBeansSide.registerService(RegisterViewImplNetBeansSide.java:91)
         at org.netbeans.modules.websvc.jaxrpc.client.wizard.ClientBuilder.generate(ClientBuilder.java:330)
         at org.netbeans.modules.websvc.jaxrpc.client.wizard.JaxRpcClientCreator$2.run(JaxRpcClientCreator.java:319)
         at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
    [catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
    I use netbeans 6.5. In my project I choose java ee 5 as in 1.4 there is no web service client option
    Any ideas?
    I found some rpc tutorils for netbeans 4.0 but I wonder why it couldn't be done in netbean 6.5
    Regards,
    Lech

  • ANT task wsgen error while deploying RPC style web service

    Hi
    I am trying to assemble/deploy an rpc style weblogic web service using the 'wsgen'
    Ant task and the build.xml scripts provided with the samples. I get this error:
    Please help
    Thanks,
    Praveen
    C:\test>ant
    Buildfile: build.xml
    webservice:
    clean:
    [delete] Deleting directory C:\test\build
    init:
    [mkdir] Created dir: C:\test\build
    [mkdir] Created dir: C:\test\build\META-INF
    [copy] Copying 5 files to C:\test\build\META-INF
    compile_ejb:
    [javac] Compiling 5 source files to C:\test\build
    jar_ejb:
    [jar] Building jar: C:\test\a_statelessSession.jar
    ejbc:
    all:
    wsgen:
    Error at line:8 col:12 ':' Already got a ':' in name
    at weblogic.xml.babel.baseparser.SAXElementFactory.createSAXParseExc
    on(SAXElementFactory.java:60)
    at weblogic.xml.babel.parsers.StreamParser.<init>(StreamParser.java:
    at weblogic.xml.babel.parsers.BabelXMLEventStream.startDocument(Babe
    EventStream.java:28)
    at weblogic.soap.WebServiceProxy.getXMLStream(WebServiceProxy.java:6
    at weblogic.soap.WebServiceProxy.getXMLStream(WebServiceProxy.java:5
    at weblogic.soap.WebServiceProxy.getServiceFrom(WebServiceProxy.java
    at weblogic.ant.taskdefs.ejb.WSGenHelper.writeClientJar(WSGenHelper.
    :1125)
    at weblogic.ant.taskdefs.ejb.WSGenHelper.writeWSDL(WSGenHelper.java:
    at weblogic.ant.taskdefs.ejb.WSGenHelper.saveDescriptors(WSGenHelper
    a:1415)
    at weblogic.ant.taskdefs.ejb.WSGenHelper.output(WSGenHelper.java:148
    at weblogic.ant.taskdefs.ejb.WSGenHelper.doit(WSGenHelper.java:1517)
    at weblogic.ant.taskdefs.ejb.WSGen.execute(WSGen.java:93)
    at org.apache.tools.ant.Target.execute(Target.java:153)
    at org.apache.tools.ant.Project.runTarget(Project.java:898)
    at org.apache.tools.ant.Project.executeTarget(Project.java:536)
    at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:213)
    at org.apache.tools.ant.Target.execute(Target.java:153)
    at org.apache.tools.ant.Project.runTarget(Project.java:898)
    at org.apache.tools.ant.Project.executeTarget(Project.java:536)
    at org.apache.tools.ant.Project.executeTargets(Project.java:510)
    at org.apache.tools.ant.Main.runBuild(Main.java:421)
    at org.apache.tools.ant.Main.main(Main.java:149)
    BUILD SUCCESSFUL
    Total time: 34 seconds
    C:\test>

    WLS6.1, service pack 2? I didn't know there were any service packs for 6.1 and
    6.0 didn't support wsgen and web services??
    simon.
    manoj cheenath <[email protected]> wrote:
    >
    >
    This is a known bug which is fixed in WLS 6.1 SP2.
    The workaround is to change the complex data types
    to have more than one level package names.
    for eg: change ....
    package foo;
    class Data{}
    to :
    package foo.bar;
    class Data{}
    -manoj
    Praveen wrote:
    Hi
    I am trying to assemble/deploy an rpc style weblogic web service usingthe 'wsgen'
    Ant task and the build.xml scripts provided with the samples. I getthis error:
    Please help
    Thanks,
    Praveen
    C:\test>ant
    Buildfile: build.xml
    webservice:
    clean:
    [delete] Deleting directory C:\test\build
    init:
    [mkdir] Created dir: C:\test\build
    [mkdir] Created dir: C:\test\build\META-INF
    [copy] Copying 5 files to C:\test\build\META-INF
    compile_ejb:
    [javac] Compiling 5 source files to C:\test\build
    jar_ejb:
    [jar] Building jar: C:\test\a_statelessSession.jar
    ejbc:
    all:
    wsgen:
    Error at line:8 col:12 ':' Already got a ':' in name
    at weblogic.xml.babel.baseparser.SAXElementFactory.createSAXParseExc
    on(SAXElementFactory.java:60)
    at weblogic.xml.babel.parsers.StreamParser.<init>(StreamParser.java:
    at weblogic.xml.babel.parsers.BabelXMLEventStream.startDocument(Babe
    EventStream.java:28)
    at weblogic.soap.WebServiceProxy.getXMLStream(WebServiceProxy.java:6
    at weblogic.soap.WebServiceProxy.getXMLStream(WebServiceProxy.java:5
    at weblogic.soap.WebServiceProxy.getServiceFrom(WebServiceProxy.java
    at weblogic.ant.taskdefs.ejb.WSGenHelper.writeClientJar(WSGenHelper.
    :1125)
    at weblogic.ant.taskdefs.ejb.WSGenHelper.writeWSDL(WSGenHelper.java:
    at weblogic.ant.taskdefs.ejb.WSGenHelper.saveDescriptors(WSGenHelper
    a:1415)
    at weblogic.ant.taskdefs.ejb.WSGenHelper.output(WSGenHelper.java:148
    at weblogic.ant.taskdefs.ejb.WSGenHelper.doit(WSGenHelper.java:1517)
    at weblogic.ant.taskdefs.ejb.WSGen.execute(WSGen.java:93)
    at org.apache.tools.ant.Target.execute(Target.java:153)
    at org.apache.tools.ant.Project.runTarget(Project.java:898)
    at org.apache.tools.ant.Project.executeTarget(Project.java:536)
    at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:213)
    at org.apache.tools.ant.Target.execute(Target.java:153)
    at org.apache.tools.ant.Project.runTarget(Project.java:898)
    at org.apache.tools.ant.Project.executeTarget(Project.java:536)
    at org.apache.tools.ant.Project.executeTargets(Project.java:510)
    at org.apache.tools.ant.Main.runBuild(Main.java:421)
    at org.apache.tools.ant.Main.main(Main.java:149)
    BUILD SUCCESSFUL
    Total time: 34 seconds
    C:\test>
    -----------------------------------------------------------------<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
    <html>
    This is a known bug which is fixed in WLS 6.1 SP2.
    <p>The workaround is to change the complex data types
    <br>to have more than one level package names.
    <p>for eg: change ....
    <p><font color="#3366FF">package foo;</font>
    <br>class Data{}
    <p>to :
    <p><font color="#3333FF">package foo.bar;</font>
    <br>class Data{}
    <p>-manoj
    <p>Praveen wrote:
    <blockquote TYPE=CITE>Hi
    <br>I am trying to assemble/deploy an rpc style weblogic web service
    using
    the 'wsgen'
    <br>Ant task and the build.xml scripts provided with the samples. I get
    this error:
    <br>Please help
    <br>Thanks,
    <br>Praveen
    <br>-----------------------------------------------------------------
    <br>C:\test>ant
    <br>Buildfile: build.xml
    <p>webservice:
    <p>clean:
    <br>   [delete] Deleting directory C:\test\build
    <p>init:
    <br>    [mkdir] Created dir: C:\test\build
    <br>    [mkdir] Created dir: C:\test\build\META-INF
    <br>     [copy] Copying 5 files to C:\test\build\META-INF
    <p>compile_ejb:
    <br>    [javac] Compiling 5 source files to C:\test\build
    <p>jar_ejb:
    <br>      [jar] Building jar: C:\test\a_statelessSession.jar
    <p>ejbc:
    <p>all:
    <p>wsgen:
    <br>Error at line:8 col:12  ':' Already got a ':' in name
    <br>        at weblogic.xml.babel.baseparser.SAXElementFactory.createSAXParseExc
    <br>on(SAXElementFactory.java:60)
    <br>        at weblogic.xml.babel.parsers.StreamParser.<init>(StreamParser.java:
    <br>        at weblogic.xml.babel.parsers.BabelXMLEventStream.startDocument(Babe
    <br>EventStream.java:28)
    <br>        at weblogic.soap.WebServiceProxy.getXMLStream(WebServiceProxy.java:6
    <br>        at weblogic.soap.WebServiceProxy.getXMLStream(WebServiceProxy.java:5
    <br>        at weblogic.soap.WebServiceProxy.getServiceFrom(WebServiceProxy.java
    <br>)
    <br>        at weblogic.ant.taskdefs.ejb.WSGenHelper.writeClientJar(WSGenHelper.
    <br>:1125)
    <br>        at weblogic.ant.taskdefs.ejb.WSGenHelper.writeWSDL(WSGenHelper.java:
    <br>)
    <br>        at weblogic.ant.taskdefs.ejb.WSGenHelper.saveDescriptors(WSGenHelper
    <br>a:1415)
    <br>        at weblogic.ant.taskdefs.ejb.WSGenHelper.output(WSGenHelper.java:148
    <br>        at weblogic.ant.taskdefs.ejb.WSGenHelper.doit(WSGenHelper.java:1517)
    <br>        at weblogic.ant.taskdefs.ejb.WSGen.execute(WSGen.java:93)
    <br>        at org.apache.tools.ant.Target.execute(Target.java:153)
    <br>        at org.apache.tools.ant.Project.runTarget(Project.java:898)
    <br>        at org.apache.tools.ant.Project.executeTarget(Project.java:536)
    <br>        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:213)
    <br>        at org.apache.tools.ant.Target.execute(Target.java:153)
    <br>        at org.apache.tools.ant.Project.runTarget(Project.java:898)
    <br>        at org.apache.tools.ant.Project.executeTarget(Project.java:536)
    <br>        at org.apache.tools.ant.Project.executeTargets(Project.java:510)
    <br>        at org.apache.tools.ant.Main.runBuild(Main.java:421)
    <br>        at org.apache.tools.ant.Main.main(Main.java:149)
    <p>BUILD SUCCESSFUL
    <p>Total time: 34 seconds
    <p>C:\test>
    <br>-----------------------------------------------------------------</blockquote>
    </html>

  • Coldfusion 11 Web Services and SSL Issue

    Our company has two web services that we host that a vendor uses to grab information from on a periodic basis. These services ran fine on a CF8 SSL site, but once we switched to 11, the services can no longer be created. However, I can create them on our unsecured test site (which also is running CF 11) and access them externally without issue. When I try to create the webservice in the url, I just get a blank page back instead of the XML I should be getting. Is there something special I am missing that has to be done to create web services in a secure environment? The raw error message I get when trying to invoke the secure web service is below:
    coldfusion.xml.rpc.XmlRpcServiceImpl$BadWsdlXMLException: Unable to parse WSDL as an XML document. at coldfusion.xml.rpc.XmlRpcServiceImpl.retrieveWSDL(XmlRpcServiceImpl.java:976) at coldfusion.xml.rpc.XmlRpcServiceImpl.access$000(XmlRpcServiceImpl.java:96) at coldfusion.xml.rpc.XmlRpcServiceImpl$1.run(XmlRpcServiceImpl.java:309) at java.security.AccessController.doPrivileged(Native Method) at coldfusion.xml.rpc.XmlRpcServiceImpl.registerWebService(XmlRpcServiceImpl.java:302) at coldfusion.xml.rpc.XmlRpcServiceImpl.getWebServiceProxy(XmlRpcServiceImpl.java:692) at coldfusion.tagext.lang.InvokeTag.doEndTag(InvokeTag.java:469) at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2987) at cfcallmattersearch2ecfm1244659485.runPage(D:\Web\sims\st\callmattersearch.cfm:9) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:246) at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:734) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:570) at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65) at coldfusion.filter.IpFilter.invoke(IpFilter.java:45) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:487) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:42) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:141) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94) at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:78) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:2 8) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) at coldfusion.CfmServlet.service(CfmServlet.java:219) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42 ) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:422) at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:198) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.jav a:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

    I've got this working on our dev and test servers.  Now I'm trying to deploy it to production.  We have an external prod server in a DMZ that calls the web service on our internal prod server.  We only have port 443 open in the firewall between these two servers (not port 80).  I am able to do a <cfhttp> call to the WSDL over 443 and get back the xml.  However, if I make the web service call using <cfinvoke> I get the following error:
    Cannot perform web service invocation getNthDayOfMonth.
    The fault returned when invoking the web service operation is:
    org.apache.axis2.AxisFault: Connection refused
            at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
            at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:197)
            at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
            at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(Common sHTTPTransportSender.java:402)
            at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSen der.java:231)
            at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
            at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)
            at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java :229)
            at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
            at standard.StandardDate_functionCfcStub.getNthDayOfMonth(StandardDate_functionCfcStub.java: 192)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorI... ''
    I am able to successfully call the same web service (on the internal prod server) using the same code from my internal dev server.  However, when I look at my httpd logs on the internal prod server, I don't see the request in the ssl logs.  It shows up in the access_log file as:
    150.231.26.130 - - [03/Feb/2015:13:48:57 -0500] "POST /standard/date_function.cfc HTTP/1.1" 200 397 "-" "Axis2"
    Any thoughts why this appears to still be coming through port 80?

  • Trouble Communicating with Document-Style Web Service

    I have a flash app that currently communicates with a
    RPC-style web service. I changed the web service to be
    document-style, and the flash app no longer sends valid requests. I
    was under the impression that one could simple swtich styles, and
    flash would play along. Apparently, this is not the case. Does
    anyone have an insight in this area?

    Clarified with Partick Calahan, who is maintaining this tool.
    Currently, doc style is not handled by this tool. I guess it will be
    supported in the future.
    Thanks.
    "Karthik V" <[email protected]> wrote in message
    news:[email protected]..
    I'm using WebLogic Webservice Explorer v.02 (WEX).
    I'm able to test rpc style web services without any problem.
    But whenever I try to open a document style web service WSDL, I get the
    following exception.
    I would appreciate if you have any suggestions for the to over come this
    issue.
    java.lang.IllegalArgumentException at
    weblogic.webservice.tools.wex.MessagePanel.<init>(MessagePanel.java:33)at
    >
    weblogic.webservice.tools.wex.ServicePanel.operationChanged(ServicePanel.jav
    a:153) at
    weblogic.webservice.tools.wex.ServicePanel.portChanged(ServicePanel.java:133
    ) at
    weblogic.webservice.tools.wex.ServicePanel.serviceChanged(ServicePanel.java:
    121) at
    weblogic.webservice.tools.wex.ServicePanel.<init>(ServicePanel.java:69)at
    >
    weblogic.webservice.tools.wex.tasks.FetchWsdlTask.perform(FetchWsdlTask.java
    :45) at
    weblogic.webservice.tools.wex.tasks.TaskQueue.run(TaskQueue.java:47) at
    java.lang.Thread.run(Unknown Source)

  • Document style Web Service the standard?

    Hi,
    A colleague of mine just told me that we should not be building RPC style web services since document style are the standard now. Is this true? I couldn't find any such phrase in WS-I BP 1.0.
    If this is not true then is it even a possiblity that in future Document style will be the standard?
    Thanks, Sid.

    In this context I think your friend is using 'standard' to mean 'reasonably common and quite trendy at the moment'.
    RPC based WS was a bad idea in because it destroys some of the loose coupling you gain using WS rather than say, CORBA, which is the number three reason for using WS. (number one being your boss spent lots of money on the tools and would look silly if you don't use them, and number two being WS tunnelling through firewalls).
    Pete

  • Runtime error with doc/lit style web services

    I've written a web service client (wrapped doc/lit style) and when I try to invoke the service, I get the following runtime error. I see some have reported the same error before and I don't see a resolution for the issue. Any help to resolve the issue is appreciated.
    My environment:
    Standalone web service client
    JARs used from JDEV 10.1.2
    Java 1.4.2
    I verified there are no duplicate implementations of the DOM Parser; I just use xmlparserv2.jar
    Exception in thread "main" java.lang.AbstractMethodError: oracle.xml.parser.v2.X
    MLElement.getNamespaceURI()Ljava/lang/String;
    at org.apache.soap.util.xml.DOM2Writer.print(DOM2Writer.java:139)
    at org.apache.soap.util.xml.DOM2Writer.serializeAsXML(DOM2Writer.java:98
    at org.apache.soap.Utils.marshallNode(Utils.java:109)
    at org.apache.soap.Body.marshall(Body.java:165)
    at org.apache.soap.Envelope.marshall(Envelope.java:203)
    at org.apache.soap.Envelope.marshall(Envelope.java:161)
    at oracle.soap.transport.http.OracleSOAPHTTPConnection.send(OracleSOAPHT
    TPConnection.java:664)
    at org.apache.soap.messaging.Message.send(Message.java:125)
    at emgateway.main.EMWSStub.sendRequest(EMWSStub.java:106)

    Hi John,
    Yes this is certainly possible. The role of client, server and service
    gets blurred when dealing with multiple web services. For an example,
    you can take a look at the work done by WS-I for the sample application
    [1], where multiple types of web services communicate with each other.
    Regards,
    Bruce
    [1]
    http://www.ws-i.org/SampleApplications/SupplyChainManagement/2003-12/SCMArchitecture1.01.pdf
    John Meiser wrote:
    >
    Can a doc-style Web Service invoke an RPC-Style Web Service? I know that we cannot
    mix RPC with Doc-style in the same Service, but I was wondering if RPC and Doc-style
    can call each other.
    Thanks,
    John

  • Doc-style Web Services

    Can a doc-style Web Service invoke an RPC-Style Web Service? I know that we cannot
    mix RPC with Doc-style in the same Service, but I was wondering if RPC and Doc-style
    can call each other.
    Thanks,
    John

    Hi John,
    Yes this is certainly possible. The role of client, server and service
    gets blurred when dealing with multiple web services. For an example,
    you can take a look at the work done by WS-I for the sample application
    [1], where multiple types of web services communicate with each other.
    Regards,
    Bruce
    [1]
    http://www.ws-i.org/SampleApplications/SupplyChainManagement/2003-12/SCMArchitecture1.01.pdf
    John Meiser wrote:
    >
    Can a doc-style Web Service invoke an RPC-Style Web Service? I know that we cannot
    mix RPC with Doc-style in the same Service, but I was wondering if RPC and Doc-style
    can call each other.
    Thanks,
    John

  • Can XI handle RPC based web services ?

    Is it possible with XI 3.0 to work with RPC based webservices rather than Document based services.
    If it can, can some one send me sample configuration for SOAP Receiver and SOAP Sender.
    I have successfully configured an  SOAP Receiver to access external web service on internet which is a document based but I am having difficulty in accessing rpc based webservice on intranet.
    We are on XI 3.0 SP 14. Appreciate your comments on this topic.
    Thanks
    Prasad

    Hi John!
    > Is using RPC style web services supported out of the
    > box within XI? I have read some forums that suggest
    > only document style are and would like a definitive
    > answer.
    I have opened an OSS message regarding this topic and I was told that RPC-style Web Services are not supported within the XI SOAP adapter. Our current workaround which adds the missing Web Service operation using an additional XSLT mapping is not sufficient. Instead we have to change our WSDL from RPC-style into document-literal style.
    Regards, Tanja

  • Document style web service receive and send org.w3c.Element

    All,
    I have created a simple Document-oriented web service and deployed to a standalone OC4J container using the following code:
    ********************* Interface ***********************
    import org.w3c.dom.*;
    interface PrimeNumberService
    //method to check the primality of the number passed in Element variable
    public Element isPrime(Element e) ;
    ******************** Implementation *******************
    @version 1.0
    Development Environment : Oracle9i JDeveloper
    Name of the File : PrimeNumberServiceImpl.java
    Creation/Modification History :
    13-Apr-2002 Created
    Overview:
    This class file defines methods to implement PrimeNumberWebService.
    The method isPrime() is exposed by the Web Service.
    import org.w3c.dom.*;
    import oracle.xml.parser.v2.*;
    import java.io.*;
    public class PrimeNumberServiceImpl implements PrimeNumberService
    public PrimeNumberServiceImpl()
    * This method is exposed by the Web Service to check if the number is
    * prime. It extracts the number for input element and checks if it is
    * prime or not and return the output in the XML Element.
    * The input element is of the form <number>23</number>
    public Element isPrime(Element e)
    // define an XML Element that will be returned to the client
    Element processedEl=null;
    try{
    // get the first clild of input element
    Node enode = e.getFirstChild();
    //get the value of input element and parse it
    String value= enode.getNodeValue();
    double number = Double.parseDouble(value);
    String answer=null;
    // check if the input number is prime
    answer = checkPrime(number);
    // create element from the answer
    processedEl =createElement(answer);
    }catch(Exception ex){
    ex.printStackTrace();
    return null;
    // return output to client
    return processedEl;
    * This method creates an XML element from the input string values and return it
    * The Element is of the form <answer>value</answer>
    private Element createElement(String value){
    // create a Document object
    Document xmldoc = new XMLDocument();
    // create an element with name "answer"
    Element e1 = xmldoc.createElement("answer");
    // append the element to document object
    xmldoc.appendChild(e1);
    // create a Text object from input values and append it to above element
    Text t = xmldoc.createTextNode(value);
    e1.appendChild(t);
    return (Element)xmldoc.getFirstChild();
    * This method check if the input number is prime or not
    private String checkPrime(double num){
    //For a prime number mod(power(2,number),number) is equal to 2
    if ( Math.IEEEremainder( Math.pow(2.0,num) ,num)==2){
    System.out.println ("the number is: " + num);
    return "The number " + num + " is prime";}
    else{
    System.out.println ("the number is: " + num);
    return "The number " + num + " is not prime";}
    ************************ Generated WSDL ***************
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="PrimeNumberService"
    targetNamespace="http://tempuri.org/PrimeNumberService.wsdl"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://tempuri.org/PrimeNumberService.wsdl"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" >
    <documentation>
    WSDL for Service: PrimeNumberService, generated by Oracle WSDL toolkit (version: 1.1)
    </documentation>
    <types>
    <schema targetNamespace="http://tempuri.org/PrimeNumberService.xsd" xmlns:tns="http://tempuri.org/PrimeNumberService.xsd" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
    </types>
    <message name="isPrimeOutput">
    <part name="return" element="xsd:any"/>
    </message>
    <message name="isPrimeInput">
    <part name="param0" element="xsd:any"/>
    </message>
    <portType name="PrimeNumberServicePortType">
    <operation name="isPrime">
    <input message="tns:isPrimeInput"/>
    <output message="tns:isPrimeOutput"/>
    </operation>
    </portType>
    <binding name="PrimeNumberServiceBinding" type="tns:PrimeNumberServicePortType">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
    <operation name="isPrime">
    <soap:operation soapAction="urn:PrimeNumberService/isPrime"/>
    <input>
    <soap:body use="literal" namespace="urn:PrimeNumberService"/>
    </input>
    <output>
    <soap:body use="literal" namespace="urn:PrimeNumberService"/>
    </output>
    </operation>
    </binding>
    <service name="PrimeNumberService">
    <port name="PrimeNumberServicePort" binding="tns:PrimeNumberServiceBinding">
    <soap:address location="http://hp-xeon-01:9799/primenumberws/primenumberService"/>
    </port>
    </service>
    </definitions>
    I get the following error when trying to deploy:
    Error:
    [Error ORABPEL-10902]: compilation failed
    [Description]: XML parsing failed because "undefined part element.
    In WSDL at "http://hp-xeon-01:9799/primenumberws/primenumberService?WSDL", message part element "{http://www.w3.org/2001/XMLSchema}any" is not defined in any of the schemas.
    Please make sure the spelling of the element QName is correct and the WSDL import is complete.
    [Potential fix]: n/a.
    Please let me know what I'm doing wrong.
    Regards,
    Jeff

    Here is the error code that I'm getting at the invoke:
    <remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
    <part name="code">
    <code>Client</code>
    </part>
    <part name="summary">
    <summary>parsing error: oracle.xml.parser.v2.XMLParseException: Expected name instead of /.</summary>
    </part>
    <part name="detail">
    <stackTrace xmlns="http://xml.apache.org/axis/">parsing error: oracle.xml.parser.v2.XMLParseException: Expected name instead of /. at org.collaxa.thirdparty.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221) at org.collaxa.thirdparty.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128) at org.collaxa.thirdparty.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1083) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(Unknown Source) at org.collaxa.thirdparty.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:226) at org.collaxa.thirdparty.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:645) at org.collaxa.thirdparty.apache.axis.Message.getSOAPEnvelope(Message.java:424) at org.collaxa.thirdparty.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62) at org.collaxa.thirdparty.apache.axis.client.AxisClient.invoke(AxisClient.java:173) at org.collaxa.thirdparty.apache.axis.client.Call.invokeEngine(Call.java:2725) at org.collaxa.thirdparty.apache.axis.client.Call.invoke(Call.java:2708) at org.collaxa.thirdparty.apache.axis.client.Call.invoke(Call.java:1738) at com.collaxa.cube.ws.wsif.providers.axis.WSIFOperation_ApacheAxis.invokeAXISMessaging(WSIFOperation_ApacheAxis.java:1902) at com.collaxa.cube.ws.wsif.providers.axis.WSIFOperation_ApacheAxis.invokeRequestResponseOperation(WSIFOperation_ApacheAxis.java:1464) at com.collaxa.cube.ws.wsif.providers.axis.WSIFOperation_ApacheAxis.executeRequestResponseOperation(WSIFOperation_ApacheAxis.java:1029) at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:455) at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:359) at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:161) at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:605) at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:317) at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:195) at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3501) at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1906) at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:101) at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:186) at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5604) at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1301) at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:117) at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvoke(CubeEngineBean.java:146) at ICubeEngineLocalBean_StatelessSessionBeanWrapper0.syncCreateAndInvoke(ICubeEngineLocalBean_StatelessSessionBeanWrapper0.java:483) at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:489) at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:425) at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:132) at com.collaxa.cube.ejb.impl.DeliveryBean.request(DeliveryBean.java:82) at IDeliveryBean_StatelessSessionBeanWrapper22.request(IDeliveryBean_StatelessSessionBeanWrapper22.java:479) at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:101) at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:65) at ngDoInitiate.jspService(_ngDoInitiate.java:220) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:347) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:810) at com.evermind.server.http.ServletRequestDispatcher.include(ServletRequestDispatcher.java:121) at com.evermind.server.http.EvermindPageContext.include(EvermindPageContext.java:267) at displayProcess.jspService(_displayProcess.java:303) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:347) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:810) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322) at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:220) at com.collaxa.cube.fe.DomainFilter.doFilter(DomainFilter.java:138) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:649) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192) at java.lang.Thread.run(Thread.java:534)</stackTrace>
    </part>
    </remoteFault>

  • Problem in Jdeveloper 10.1.3, web services and document style.possible bug?

    Hello!
    I would like to generate a document-style web service from a wsdl file. The problem is that when I use it I get the following error:
    "operation echoStruct must have exactly one parameter as part of the SOAP body when used with a document-bare binding. All other parameters must be mapped to headers."
    A similar message is shown with other wsdl file that I'm using.
    I'm attaching the file that use to test it.
    Could you help me and tell me how I can fix it, please? or is it a bug?
    Regards,
    Antonio.
    <definitions xmlns:s1="http://soapinterop.org" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/xsd" xmlns:s2="http://soapinterop.org/AbstractTypes" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://soapinterop.org">
         <types>
              <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd">
                   <s:import namespace="http://soapinterop.org"/>
                   <s:element name="echoStructParam" type="s0:SOAPStruct"/>
                   <s:complexType name="SOAPStruct">
                        <s:sequence>
                             <s:element minOccurs="1" maxOccurs="1" name="varFloat" type="s:float"/>
                             <s:element minOccurs="1" maxOccurs="1" name="varInt" type="s:int"/>
                             <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string"/>
                        </s:sequence>
                   </s:complexType>
                   <s:element name="echoStructReturn" type="s0:SOAPStruct"/>
                   <s:element name="echoStringArrayParam" type="s1:ArrayOfString"/>
                   <s:element name="string" type="s:string"/>
                   <s:element name="echoStringArrayReturn" type="s1:ArrayOfString"/>
                   <s:element name="echoStringParam" type="s:string"/>
                   <s:element name="echoStringReturn" type="s:string"/>
              </s:schema>
              <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org">
                   <s:import namespace="http://soapinterop.org/xsd"/>
                   <s:complexType name="ArrayOfString">
                        <s:sequence>
                             <s:element minOccurs="0" maxOccurs="unbounded" ref="s0:string"/>
                        </s:sequence>
                   </s:complexType>
                   <s:element name="ArrayOfString1" nillable="true" type="s1:ArrayOfString1"/>
                   <s:complexType name="ArrayOfString1">
                        <s:sequence>
                             <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string"/>
                        </s:sequence>
                   </s:complexType>
                   <s:element name="string" nillable="true" type="s:string"/>
              </s:schema>
              <s:schema targetNamespace="http://soapinterop.org/AbstractTypes">
                   <s:complexType name="StringArray">
                        <s:complexContent mixed="false">
                             <s:restriction base="soapenc:Array">
                                  <s:sequence>
                                       <s:element minOccurs="0" maxOccurs="unbounded" name="String" type="s:string"/>
                                  </s:sequence>
                             </s:restriction>
                        </s:complexContent>
                   </s:complexType>
              </s:schema>
         </types>
         <message name="echoStructSoapIn">
              <part name="echoStructParam" element="s0:echoStructParam"/>
         </message>
         <message name="echoStructSoapOut">
              <part name="echoStructResult" element="s0:echoStructReturn"/>
         </message>
         <message name="echoStringArraySoapIn">
              <part name="echoStringArrayParam" element="s0:echoStringArrayParam"/>
         </message>
         <message name="echoStringArraySoapOut">
              <part name="echoStringArrayResult" element="s0:echoStringArrayReturn"/>
         </message>
         <message name="echoStringSoapIn">
              <part name="echoStringParam" element="s0:echoStringParam"/>
         </message>
         <message name="echoStringSoapOut">
              <part name="echoStringResult" element="s0:echoStringReturn"/>
         </message>
         <portType name="WSDLInteropTestDocLitSoap">
              <operation name="echoStruct">
                   <input message="s1:echoStructSoapIn"/>
                   <output message="s1:echoStructSoapOut"/>
              </operation>
              <operation name="echoStringArray">
                   <input message="s1:echoStringArraySoapIn"/>
                   <output message="s1:echoStringArraySoapOut"/>
              </operation>
              <operation name="echoString">
                   <input message="s1:echoStringSoapIn"/>
                   <output message="s1:echoStringSoapOut"/>
              </operation>
         </portType>
         <binding name="WSDLInteropTestDocLitSoap" type="s1:WSDLInteropTestDocLitSoap">
              <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
              <operation name="echoStruct">
                   <soap:operation soapAction="http://soapinterop.org/" style="document"/>
                   <input>
                        <soap:body use="literal"/>
                   </input>
                   <output>
                        <soap:body use="literal"/>
                   </output>
              </operation>
              <operation name="echoStringArray">
                   <soap:operation soapAction="http://soapinterop.org/" style="document"/>
                   <input>
                        <soap:body use="literal"/>
                   </input>
                   <output>
                        <soap:body use="literal"/>
                   </output>
              </operation>
              <operation name="echoString">
                   <soap:operation soapAction="http://soapinterop.org/" style="document"/>
                   <input>
                        <soap:body use="literal"/>
                   </input>
                   <output>
                        <soap:body use="literal"/>
                   </output>
              </operation>
         </binding>
         <service name="WSDLInteropTestDocLit">
              <port name="WSDLInteropTestDocLitSoap" binding="s1:WSDLInteropTestDocLitSoap">
                   <soap:address location="http://mssoapinterop.org/asmx/wsdl/InteropTestDocLit.asmx"/>
              </port>
         </service>
    </definitions>

    Dev update: WSDL file seems fine. The problem is that it's for a document-bare service and, by default, the Unwrap Wrapped Parameters option on step 2 of the top-down wizard is enabled and checked. This means that we try to pick apart the input message into a series of parameters, yielding the error shown because a document-bare operation must have only one input parameter.
    If the Unwrap Wrapped Parameters option is unchecked, creation of the top-down service will succeed. In future, we ought to disable the option completely for everything but document-wrapped services, as that's the only time it applies.
    This is covered by bug 4630382.

  • Message driven bean and message style web service

    Hi,
    I'm trying to deploy a message style web service with a message driven EJB as
    the receiver and am getting the following exception:
    <Jan 22, 2002 10:51:06 AM PST> <Warning> <EJB> <MessageDrivenBean threw an Exception
    in onMessage(). The exception was:
    java.lang.ClassCastException: weblogic.jms.common.ObjectMessageImpl
    java.lang.ClassCastException: weblogic.jms.common.ObjectMessageImpl
    at credit.message.PostDefaultPayment.onMessage(PostDefaultPayment.java:24)
    at weblogic.ejb20.internal.MDListener.execute(MDListener.java:254)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    public void onMessage(Message message) {
    System.out.println("onMessage");
    TextMessage textmessage = (TextMessage)message. // It is throwing
    the exception on this line --looks pretty normal
    Has anyone seen this before? Am I missing something?
    Thanks,
    Tim

    Hi Tim,
    I think the problem is that you are assuming that the data type, of the message
    argument to the onMessage(Message message) method in your MDB, is of type TextMessage.
    I agree that this seems logical, especially since you passed "a string" to the
    Message-style Web Service. However, this is not the case, because the WSDL uses
    the "xsd:anyType" as the data type for any argument you pass to the send() method
    ;-) This maps to a java.lang.Object in the WebLogic Web Services implementation,
    which is why you get the casting error. Try this instead:
    public void onMessage(Message msg)
         try
              String msgText;
              ObjectMessage objMessage = (ObjectMessage)msg;
              msgText = (String)objMessage.getObject();
    System.out.println("[PostDefaultPayment.onMessage(Message)] msgText=" + msgText);
    System.out.println("[PostDefaultPayment.onMessage(Message)] msg.getJMSType()="
    + msg.getJMSType());
    System.out.println("[PostDefaultPayment.onMessage(Message)] msg.getJMSCorrelationID()="
    + msg.getJMSCorrelationID());
    System.out.println("[PostDefaultPayment.onMessage(Message)] msg.getJMSMessageID()="
    + msg.getJMSMessageID());
         catch(Exception e)
    e.printStackTrace();
    Regards,
    Mike Wooten
    "Tim Uy" <[email protected]> wrote:
    >
    Hi,
    I'm trying to deploy a message style web service with a message driven
    EJB as
    the receiver and am getting the following exception:
    <Jan 22, 2002 10:51:06 AM PST> <Warning> <EJB> <MessageDrivenBean threw
    an Exception
    in onMessage(). The exception was:
    java.lang.ClassCastException: weblogic.jms.common.ObjectMessageImpl
    java.lang.ClassCastException: weblogic.jms.common.ObjectMessageImpl
    at credit.message.PostDefaultPayment.onMessage(PostDefaultPayment.java:24)
    at weblogic.ejb20.internal.MDListener.execute(MDListener.java:254)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    public void onMessage(Message message) {
    System.out.println("onMessage");
    TextMessage textmessage = (TextMessage)message. // It
    is throwing
    the exception on this line --looks pretty normal
    Has anyone seen this before? Am I missing something?
    Thanks,
    Tim

  • J2EE Web services and JAX-RPC

    Hello..
    While working with J2EE web services using JDeveloper and OC4J, I noticed that it really doesn't confirm to Sun's JAX-RPC standard. The Web Service interface class does not extend the "Remote" and all methods don't throw "RemoteException" as mandated by JAX-RPC standard.
    I have few questions:
    (1) Are the OC4J J2EE web services completey different from JAX-RPC based web services.??
    (2) Does Oracle have any implementation of JAX-RPC??
    (3) Is Sun the only one promoting and implementing the JAX-RPC standard? Or are there other players?
    thanks...

    (1) Are the OC4J J2EE web services completey different from JAX-RPC based web services.??
    OC4J J2EE Web Services originate from Oracle/Apache SOAP with several differences:
    a. A model where each type of implementation gets a specific servlet (e.g. one for EJB's, one for PL/SQL, one for stateless and stateful Java classes. Architecturally, you can see the picture here:
    http://otn.oracle.com/docs/products/ias/doc_library/903doc_otn/generic.903/b10004/orawebservices.htm#1024808
    (scroll down a half page for the picture)
    b. The packaging of the Web services rather than using the Apache SOAP registration mechanism uses something closer to JSR 109 (also known as Web Services for J2EE, part of J2EE 1.4 with JAX-RPC, SAAJ [SOAP API forAttachments in Java] and JAXP [Java API for XML Parsing]), where the Web service is packaged as an ordinary ear file for deployment.
    Oracle built this implementation by extrapolating from the JAX-RPC documentation that was available last year before it was a final specification in an effort to release a production quality Web services implementation that was aligned with JAX-RPC. It has been through two releases - Oracle9iAS 9.02 and Oracle9iAS 9.0.3 and is now being evolved to JAX-RPC as we move to J2EE 1.4.
    (2) Does Oracle have any implementation of JAX-RPC??
    We are planning to release a JAX-RPC implementation in the new year (I don't have specific dates yet) on OC4J. The production implementation of this will be as seamless a migration as possible from the existing implementation. Oracle9i JDeveloper will also add support for JAX-RPC as a 3rd option in its list of choices available. You can get a sense of how such a migration would work by running the Web services wizard in JDev for Apache SOAP and then, in a separate project, running it for Oracle9iAS J2EE Web Services - imagine there being another option for JAX-RPC. The work to migrate should be as simple as running a wizard or command line utility (known as the Web Services Assembler tool in Oracle9iAS).
    (3) Is Sun the only one promoting and implementing the JAX-RPC standard? Or are there other players?
    Pretty much every one in the Java side of industry will be implementing JAX-RPC. The important time to note is when J2EE 1.4 is released ... sometime in the new year ... I believe around March but may be mistaken. Part of J2EE 1.4 is required support for JAX-RPC, SAAJ, Web Services for J2EE etc etc. This will standardize the implementation of Web services. Oracle, like others in the industry, supports the standard protocols, (SOAP), interfaces (WSDL) and registries (UDDI) - what J2EE 1.4 does is standardize the packaging, deployment and implementation (the wrappers generated by the tooling).
    My guess is that around JavaOne (June 2003) there will be a rash of announcements from J2EE vendors announcing support of JAX-RPC and J2EE 1.4 (or early implementations) as we will be in the same race that happened in 2001/2002 when J2EE 1.3 was the spec to announce implementations around.
    Mike.

  • (261705413) Q RPCC-21 Can you compare a performance of "usual" RPC from EJB and RPC from Web Services?

    Q<RPCC-21> Can you compare a performance of "usual" RPC from EJB and RPC from Web
    Services?
    A<RPCC-21> There are additional performance overheads for invoking a web service
    when compared to straight EJB invocation. However, you should not think of web
    services as a way to replace your EJBs instead you should be willing to accept
    some performance decline for the massive gains in platform interoperability and
    the ability to exposure your services outside of you firewall.
    Additionally, performance decreases will be dependent on several factors. The
    most significant of which is the XML-Java and Java-XML translation of the SOAP
    message. This can be very fast if the XML structure is simple but if you web services
    requires a parameter that has a complex XML format you may see a more significant
    slow down.
    Adam

    Sorry if this sounds like I am new to this but I am.
    So, the extended version is the format that would be used if you were not utilizing the files that the wsdl2java function creates?
    And this is done to when you want more flexibiility for the user to call your service?
    So, you would push to have the stub files used when you want to control how the web service is used?
    thanks for the feedback.

Maybe you are looking for

  • Best practice for frequently needed config settings?

    I have a command-line tool I wrote to keep track of (primarily) everything I eat and drink in the course of the day.  Obviously, therefore, I run this program many times every day. The program reads a keyfile and parses the options defined therein. 

  • Why did my audio & video lines change colors?

    I was working in a sequence when suddenly all my lines changed colors on me. The audio and video lines are the exact same shade of blue and its very disorienting. Even after I  alter an audio clip in Audition the colors don't change. I've tried quitt

  • RoboHelp 8: Vertical scroll bar problem

    I just installed RoboHelp 8. When I view a topic page that is longer than the window, sometimes the vertical scroll bars appear and sometimes they don't. If I click the <> HTML tab and then click the Design tab again, the scroll bar appears. The scro

  • Manual Reservation against Maintenance Order

    Dear All SAP - MM Gurus, Is it possible to do manual reservation against the Maitenance order through T. code                             : MB21 movement type                  : 261 Maintenance Order Number: XXXXXXXX If yes, what all steps to be done

  • Motion Assistant - Generating Sinusoidal Velocity Profile

    Hi, I am currently working on a project where I need to create a sinusoidal velocity program for the pump that I am controlling. It is believed that the person previously working on the project used a LabVIEW VI to generate an XML file to control the