Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8479091
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 10, 20262026-06-10T18:55:43+00:00 2026-06-10T18:55:43+00:00

Before anything else, I want you to know that I can already connect to

  • 0

Before anything else, I want you to know that I can already connect to the web service server. I’m asking this question because I want to gain a deeper knowledge on how a wsimport generated client works. Based from my research, wsimport uses JAXWS. Please note that I have no knowledge from JAXWS.

I generated my client using wsimport. The WSDL I used is from an Axis2 web service and was automatically generated by Axis2. The classes below are the results of wsimport:

Under com.datamodel.xsd

  • DataBeanRequest.java
  • DataBeanResponse.java
  • ObjectFactory.java
  • package-info.java

Under com.service

  • MyWebService.java
  • MyWebServicePortType.java
  • MyMethod.java
  • MyMethodResponse.java
  • ObjectFactory.java
  • package-info.java

With the classes above, I can that tell that com.datamodel.xsd contains the beans used by the web service server (excluding ObjectFactory and package-info). Meanwhile, MyMethod and MyMethodResponse are also beans used to set the request and response parameter of the web service method/operation.

Below are my questions: (You don’t really have to answer all of it if you don’t know the answers on some of my questions. 🙂 And please feel free to share any info that you think I might find useful.)

Am I correct with

  • Am I correct with my assumptions above?
  • What are the function of the other classes?
  • I inspected MyWebService and it contains an annotation referring to the absolute location of the WSDL I used to generate the client. What is the relevance of specifying the wsdllocation in the client? How does the client use that info?
  • I noticed that the actual URL of the web service is not declared in any of the classes generated. How does the client know where it needs to connect to?
  • Was the WSDL file annotated so that the client can read the URL on the WSDL file upon connection? If so, then does it mean that the WSDL file is always read when a new connection must be established?
  • Since there’s a need for me to compile my application and install it on a different server, the will become invalid. Can I set it to a relative path instead of an absolute path? How? (Answer: Yes, it can be set to a relative path. The wsimport command has a wsdllocation attribute wherein the value of the wsdllocation can be specified.)
  • What if I need to connect to an HTTPS. How can I set the server certificate?
  • Is there any difference when I generate my client using wsimport and when I generate it using Axis2 or Apache CXF.
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-10T18:55:44+00:00Added an answer on June 10, 2026 at 6:55 pm

    Before I answer the questions, some clarification: JAX-WS is a specification for implementing web services in Java. It describes how WSDL artifacts can be mapped to Java classes and how this mapping can be applied using annotations. You can download the specification here. The tool wsimport is part of the reference implementation of this specification and the reference implementation is part of the Java class library. There are several alternative implementations, such as Axis2, CXF or Metro, that enhance the basic JAX-WS support with support for additional standards such as WS-ReliableMessaging or WS-Security.

    Now to your questions:

    Am I correct with my assumptions above?

    Yes, you are.

    What are the function of the other classes?

    The package-info exists to map the XML namespace used in the web service to the package in which your implementation classes reside. The namespace normally looks different from a Java package name (normally, it is a URL) and this makes the mapping necessary.

    The ObjectFactory allows you to create any of the messages sent and received by the service. You need this if you want to hook in code in front of your stub class, provide modified messages or similar things.

    I can’t see the content of your classes, but if I understand it right MyWebServicePortType is an interface that resembles the portType in your WSDL. That is, it maps the operations and their signatures in the WSDL to Java methods. If you want to provide the service (which you don’t, you are asking about the client), you would need to implement this interface. As you implement the client, you simply use it.

    Finally, the class MyWebService contains the client stub you need if you want to invoke the web service.

    I inspected MyWebService and it contains an annotation referring to
    the absolute location of the WSDL I used to generate the client. What
    is the relevance of specifying the wsdllocation in the client? How
    does the client use that info?

    The interface you generated contains the signature of the portType of the service, but it does not explain how you can talk to the service. This is part of the binding in the WSDL. The most basic setting is a document/literal style for the messages using SOAP over HTTP. Other configurations, such as SOAP over JMS, are possible and your client needs to know what protocol to use. Therefore it needs the binding WSDL. Also, as you state later, there is no endpoint address in your Java files. This address is also read from the WSDL.

    I noticed that the actual URL of the web service is not declared in
    any of the classes generated. How does the client know where it needs
    to connect to?

    It reads the address from the port of the service in the WSDL. This is located of the end of the WSDL.

    Was the WSDL file annotated so that the client can read the URL on the
    WSDL file upon connection?

    No, the port is a typical element of a concrete web service endpoint. There’s nothing special needed here.

    If so, then does it mean that the WSDL file is always read when a new
    connection must be established?

    Well, there could be caching at the client side (I don’t know about the details of the reference implementation on this one). From a conceptual point of view: yes, it is.

    What if I need to connect to an HTTPS. How can I set the server
    certificate

    This can be tricky, I can’t give you an out-of-the-box answer. I would suggest to read through questions on this topic, such as this one.

    Is there any difference when I generate my client using wsimport and
    when I generate it using Axis2 or Apache CXF

    Yes, there is. wsimport is better, don’t use wsdl2java. Here is a description, why.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Before anything else, I know that Active Record automatically escapes all queries by it
Error that pops up even before anything else loads: Package Load Failure Package 'Microsoft.TeamFoundation.Client.ServicesHostPackage,
(Before anyone says anything Yes this was homework but i have already turned it
I know that this has been asked a million times before, but nothing that
I know similar questions have been asked before, but I can't find one that
Before anything else, here is the simplified schema ( with dummy records ) of
I need to launch an app I've made just after login, before anything else
Before anything, I am not looking for a re-write. This was presented to me,
Before saying anything I have to say that, albeit I'm an experienced programmer in
I want to write a custom validator which doesn't do anything before the user

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.