14 Replies Latest reply on Mar 22, 2005 11:37 AM by Georg Hallingstrom

    Unable to access the webservice using vb.net but able to acc

    Mitul Raul Newbie

      Hi i am facing problem in accessing the webservice deployed using jbossws using vb.net technology. But i am able to access the same using the java client.
      In VB.net, It identifies the service and creates the connection to displaying wsdl but when trying to access the service it does not show any methods defined in the webservice.
      Does any one have idea why it is happening?


      Thanks
      Mitul

        • 1. Re: Unable to access the webservice using vb.net but able to
          Thomas Diesler Master

          Are there any SOAP messages beeing exchanged?
          People were having issues with HTTP-1.1. Does this apply to you?

          • 2. Re: Unable to access the webservice using vb.net but able to
            Mitul Raul Newbie

            May be true but how come the Javaclient with Axis and other clients are able to call the Webservice. Also I have generated the wsdl using the wscompile tool. I have one doubt here it does not generates heirarchy for the all complex types. What could be reason?

            • 3. Re: Unable to access the webservice using vb.net but able to
              Jason Greene Master

              Are you using rpc/literal on the java side? Microsoft has not implemented rpc/literal (though it is planned in the .NET framework 2.0 release, already available in 2.0 beta). If using a microsoft beta framework is not an option, you may need to switch to document/literal.

              -Jason

              • 4. Re: Unable to access the webservice using vb.net but able to
                Georg Hallingstrom Newbie

                "already in beta" !? :)

                from Microsoft download site:

                "File Name: dotnetfx.exe

                Download Size: 24615 KB

                Date Published: 7/27/2004

                Version: 2.0"

                http://www.microsoft.com/downloads/details.aspx?FamilyId=B7ADC595-717C-4EF7-817B-BDEFD6947019&displaylang=en

                Will this ever come in non-beta state?

                We are currently trying to implement a VB client for our RPC/literal webservices without success. The development tool can download the WSDL and show which services that exists in it but there ends all further access.

                It does not seams to work to well... We will now be switching to doc/literal instead.

                I think this is a bit strange, since it feels like rpc/literal is just a subset of doc/literal....

                I would be really happy if anyone out there have successfully implemented a VB client accessing RPC/literal and could say something about it.


                Best regards,

                Georg

                • 5. Re: Unable to access the webservice using vb.net but able to
                  Thomas Diesler Master

                  You can read the wiki on why rpc/literal is a bad idea. Microsoft is right dropping the ball on it.

                  You would have a better investment if you used doc/literal

                  • 6. Re: Unable to access the webservice using vb.net but able to
                    Georg Hallingstrom Newbie

                    I did read the wiki.

                    "Among the few valid reasons to use RPC style web services is, that you have an interoperability issue. For example you want to provide/consume a service to/from .NET."

                    http://www.jboss.org/wiki/Wiki.jsp?page=WSMessageEndpoints

                    Maybe this line should not be there...?


                    Best regards,

                    Georg

                    • 7. Re: Unable to access the webservice using vb.net but able to
                      Jason Greene Master

                      Sorry for the confusion, I updated the wiki. The reason Microsoft did not add support for rpc/literal is because they have always been against rpc/literal (for some very good reasons). The problem is that they were on the WS-I profile 1.0 and 1.1 spec team, and that spec team decided to support rpc/literal. So, they have been slow catching up to that spec, but if they ever want to say that .NET is WS-I compliant, they will have to.

                      -Jason

                      • 8. Re: Unable to access the webservice using vb.net but able to
                        Jason Greene Master

                         


                        Will this ever come in non-beta state?


                        Yes, its planned to roll out with the release of Visual Studio 2005. Visual Studio 2005 Beta 2 is supposed to be released end of this month, and the final version will be released in September.

                        -Jason

                        • 9. Re: Unable to access the webservice using vb.net but able to
                          Mitul Raul Newbie

                          I have seen the generated WSDL is generating location with localhost instead of machine name.
                          e.g the generated wsdl have following structure..

                          - <service name="AddressWebServices">
                          - <port binding="tns:AddressWrapperIntfBinding" name="AddressWrapperIntfPort">
                           <soap:address location="http://localhost:8080/acWebServices/services/AddressWebServices" />
                           </port>
                           </service>


                          here location should be genarated as the name of machine webservice deployed... When we check with other webservice (Axis/Jaxrpc) the webservice container generates the location as name of machine name but here it is localhost!
                          In jobssws is it always generates localhost? On this wsdl the client makes the call for webservice? right?

                          • 10. Re: Unable to access the webservice using vb.net but able to
                            Jason Greene Master

                            Try not to reuse a thread for different topics it makes it harder for people searching the forums to find an answer.

                            That being said. your answer is that you have 2 options:
                            1. Pass the hostname in as the -b option to run.sh so that jboss binds only to one interface
                            -or-
                            2. Edit the jboss-service.xml in the deploy/jboss-ws4ee.sar/META-INF directory

                            -Jason

                            • 11. Re: Unable to access the webservice using vb.net but able to
                              Mitul Raul Newbie

                              Sorry for breaking the thread.
                              Since i am new user in development of JBOSSWS weebservice i am not sure where do we specify the rpc/literal. I mean where do we mention the rpc n document style?

                              I have used following files for creating webservice


                              ant task :

                              <wscompile
                               fork= "true"
                               base="${dest.dir}/war/WEB-INF/classes"
                               server="true"
                               features="wsi"
                               mapping="${dest.dir}/war/WEB-INF/Contact_Mapping.xml"
                               sourceBase="${war.dir}/WEB-INF/classes"
                               optimize="true"
                               debug="true"
                               keep="false"
                               verbose="true"
                               xPrintStackTrace="true"
                               config="${acws-config-dir}/Contact_Config.xml">
                               <classpath>
                               <pathelement path="${acws.classpath}"/>
                               <pathelement path="${war.dir}/WEB-INF/classes"/>
                               </classpath>
                               </wscompile>


                              Contact_Config.xml:

                              <configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
                               <service name="ContactWebServices"
                               targetNamespace="urn:ContactWrapper"
                               typeNamespace="urn:ContactWrapper"
                               packageName="com.ca.ac.webservice.wrapper">
                               <interface
                               name="com.ca.ac.webservice.wrapper.ContactWrapperIntf"
                               servantName="com.ca.ac.webservice.wrapper.ContactWrapper">
                               </interface>
                               <typeMappingRegistry>
                               <additionalTypes>
                              
                               <class name=
                               "com.ca.ac.model.SiteKey"/>
                               <class name=
                               "com.ca.ac.model.ContactKey"/>
                               <class name=
                               "com.ca.ac.model.AddressKey"/>
                              
                               </additionalTypes>
                               </typeMappingRegistry>
                               </service>
                               </configuration>



                              webservice.xml:
                               <webservice-description>
                               <webservice-description-name>ContactWebServices</webservice-description-name>
                               <wsdl-file>WEB-INF/wsdl/ContactWebServices.wsdl</wsdl-file>
                               <jaxrpc-mapping-file>WEB-INF/Contact_Mapping.xml</jaxrpc-mapping-file>
                               <port-component>
                               <port-component-name>ContactWebServices</port-component-name>
                               <wsdl-port>ContactWrapperIntfPort</wsdl-port>
                               <service-endpoint-interface>com.ca.ac.webservice.wrapper.ContactWrapper</service-endpoint-interface>
                               <service-impl-bean>
                               <servlet-link>ContactWrapperServlet</servlet-link>
                               </service-impl-bean>
                               </port-component>
                               </webservice-description>





                              • 12. Re: Unable to access the webservice using vb.net but able to
                                Georg Hallingstrom Newbie

                                You specify that by giving the "features" more arguments in the wscompile ant task. Write:

                                features="wsi,documentliteral"

                                for document style and

                                features="wsi,rpcliteral" for rpc.

                                Here is a good link for more info regarding wscompile (both as ant task and separate program):

                                https://jax-rpc.dev.java.net/whitepaper/1.1/index-part1.html


                                Best regards,

                                Georg

                                • 13. Re: Unable to access the webservice using vb.net but able to
                                  Mitul Raul Newbie

                                  When i am using features ="wsi" I don't get any error but When I added features="wsi,documentliteral" I am getting following error

                                  java.lang.Exception: The OperationDesc for insert was not synchronized to a method of com.ca.ac.webservice.wrapper.Conta
                                  ctWrapper.
                                  at org.apache.axis.InternalException.(InternalException.java:108)
                                  at org.apache.axis.description.ServiceDesc.syncOperationToClass(ServiceDesc.java:851)
                                  at org.apache.axis.description.ServiceDesc.getSyncedOperationsForName(ServiceDesc.java:1198)
                                  at org.apache.axis.description.ServiceDesc.loadServiceDescByIntrospectionRecursive(ServiceDesc.java:1044)
                                  at org.apache.axis.description.ServiceDesc.loadServiceDescByIntrospection(ServiceDesc.java:965)
                                  at org.apache.axis.description.ServiceDesc.loadServiceDescByIntrospection(ServiceDesc.java:906)
                                  at org.apache.axis.description.ServiceDesc.getOperations(ServiceDesc.java:451)
                                  at org.jboss.webservice.server.ServiceEndpointServlet.reportAvailableServices(ServiceEndpointServlet.java:211)
                                  at org.jboss.webservice.server.ServiceEndpointServlet.doGet(ServiceEndpointServlet.java:84)
                                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
                                  at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:372)
                                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
                                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
                                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
                                  at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
                                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
                                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
                                  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
                                  at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
                                  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
                                  at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
                                  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
                                  at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
                                  at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:44)
                                  at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
                                  at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:169)
                                  at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
                                  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
                                  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
                                  at org.apache.catalina.core.StandardValveContext.invokeNext

                                  What could be reason?