You are on page 1of 22

Simple Object Access Protocol (SOAP) FAQ From jGuru

Generated Sep 13, 2005 2:27:12 PM

Location: http://www.jguru.com/faq/SOAP
Ownership: http://www.jguru.com/misc/user-agree.jsp#ownership.

What does SOAP stand for?


Location: http://www.jguru.com/faq/view.jsp?EID=96406
Created: Jul 5, 2000 Modified: 2000-07-05 11:39:32.309
Author: John Zukowski (http://www.jguru.com/guru/viewbio.jsp?EID=7)

SOAP stands for Simple Object Access Protocol.

What is SOAP used for?


Location: http://www.jguru.com/faq/view.jsp?EID=96411
Created: Jul 5, 2000 Modified: 2000-07-05 11:40:41.627
Author: John Zukowski (http://www.jguru.com/guru/viewbio.jsp?EID=7)

Taken from the SOAP v1.1 specification [http://www-


4.ibm.com/software/developer/library/soap/soapv11.html:
SOAP is a lightweight protocol for exchange of information in a decentralized,
distributed environment. It is an XML based protocol that consists of three parts: an
envelope that defines a framework for describing what is in a message and how to
process it, a set of encoding rules for expressing instances of application-defined
datatypes, and a convention for representing remote procedure calls and responses.

Where can I get a Java version of SOAP?


Location: http://www.jguru.com/faq/view.jsp?EID=96415
Created: Jul 5, 2000 Modified: 2000-09-20 13:00:07.329
Author: John Zukowski (http://www.jguru.com/guru/viewbio.jsp?EID=7)

IBM makes a reference implementation available through the Apache group at


http://xml.apache.org/soap.

Are there any mailing lists where one can learn more about SOAP?
Location: http://www.jguru.com/faq/view.jsp?EID=96421
Created: Jul 5, 2000 Modified: 2000-07-05 11:43:26.214
Author: John Zukowski (http://www.jguru.com/guru/viewbio.jsp?EID=7)

DevelopMentor runs a list. You can subscribe and read the archives at
http://discuss.develop.com/soap.html.
Comments and alternative answers

They also run a SOAP-BOFs mailing list.


Author: John Mitchell (http://www.jguru.com/guru/viewbio.jsp?EID=4), Dec 21,
2000
They also run a SOAP-BOFs mailing list.

Here are a few more.


Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011), Aug
18, 2001

• Apache Axis Mailing List


• Apache SOAP Users and Developers Mailing List
• Developmentor's SOAP mailing list
• IBM's SOAP NewsGroup
• comp.text.xml
• SOAPRPC's Mailing List

Where can I find the latest SOAP specification?


Location: http://www.jguru.com/faq/view.jsp?EID=96438
Created: Jul 5, 2000 Modified: 2000-07-05 11:51:55.911
Author: John Zukowski (http://www.jguru.com/guru/viewbio.jsp?EID=7)

The W3C maintains the latest at http://www.w3.org/TR/SOAP/.


Comments and alternative answers

Latest SOAP Specification is SOAP 1.2...


Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011), Aug
10, 2001
http://www.w3.org/TR/soap12/

Are there any SOAP-specific FAQs available?


Location: http://www.jguru.com/faq/view.jsp?EID=96437
Created: Jul 5, 2000 Modified: 2000-07-05 12:57:41.922
Author: John Zukowski (http://www.jguru.com/guru/viewbio.jsp?EID=7)

The DevelopMentor SOAP FAQ is probably the best place to start. Microsoft also has a
SOAP FAQ.

What is XML-RPC and how is it different from SOAP (Simple Object Access
Protocol)?
Location: http://www.jguru.com/faq/view.jsp?EID=201434
Created: Sep 8, 2000 Modified: 2000-09-18 07:49:45.587
Author: Ron Kurr (http://www.jguru.com/guru/viewbio.jsp?EID=132270) Question
originally posed by Sesh Jalagam
(http://www.jguru.com/guru/viewbio.jsp?EID=41325

In XML-RPC you send an XML document over HTTP that describes a method on an
object to call. The response from the method is also an XML document. Why do this?
XML and HTTP are language independent. This allows a server written in Java
running on a Unix box to service requests from a Visual Basic program running under
Windows 95. All languages deal with strings (XML) and a lot of them have libraries
for dealing with HTTP, which makes for nice interoperability. The tradeoff, of course,
is speed. A binary data stream is probably faster but it is harder to get the platform
independence that XML-RPC gives. You can learn more from the XML-RPC website.

SOAP does essentially the same thing.

Comments and alternative answers

XML-RPC vs SOAP
Author: Ben Soedjono (http://www.jguru.com/guru/viewbio.jsp?EID=503607), Oct 2, 2001
There is a great explanation on Webservices.org FAQ for XML-RPC at
http://www.webservices.org/modules.php?op=modload&name=FAQ&file=index&myfaq=yes&id_cat=10
RPC+v1.0

How does CORBA compare to RMI? to SOAP? to .NET?


Location: http://www.jguru.com/faq/view.jsp?EID=246427
Created: Nov 6, 2000 Modified: 2000-11-07 11:36:32.099
Author: Pavel Tavoda (http://www.jguru.com/guru/viewbio.jsp?EID=19085)
Question originally posed by Manik Surtani
(http://www.jguru.com/guru/viewbio.jsp?EID=234475

It's not simple question and to completely answer this question you need good study.
At first I want point you on one very good bookmark page Cetus Links. And now my
answer:

• CORBA - is set of standards, definitions, language mappings, application


interfaces, standard services. Many of Java interface standards are java
mapping of standard CORBA interfaces sometimes with small extensions. One
part of CORBA is protocol description between server and client for
interchanging data and calling procedure. This part of CORBA standard is
called GIOP (General Inter-Orb Protocol) and TCP/IP realization is called IIOP
(Internet Inter-Orb Protocol).
• RMI - is protocol for remote invocation of services for Java and only for Java.
As low level protocol is using proprietary communication and both sides
(client and server) have to be in Java.
• RMI with IIOP plugin - it's standard RMI with IIOP used as communication
low level protocol. Thanks to this you can have full interoperability between
RMI and CORBA and IIOP plugin is used as bridge between this two worlds.
However if you want build heterogenous, enterprise, stable solutions then I
would advise you to use full CORBA and not intermix RMI with CORBA. Some
CORBA implementations are free, tested, very stable, fast, well documented
... .
• SOAP (Simple Object Access Protocol) - Is XML based protocol for
interchanging XML objects. It's description of wire format for interchanging
XML objects. It give you answers on question similar to this: "How to transfer
object 2,3 and 5 from my set on server to client".
• .NET - something very similar to what already J2EE (Java Enterprise Edition)
have except reason that .NET is only in state of strategy and promising great
features.

Comments and alternative answers


please discusss Performance comparison results
Author: Nilesh Shirbhate (http://www.jguru.com/guru/viewbio.jsp?EID=1116424),
Sep 18, 2003
I will appreciate if you can provide the information wrt to the performance of these
competing distributed computing technologies. I mean given a distrbuted
application,Say client is sending a request containing a 200 byte data to the server
how much time this method will take per transaction in colocated ( client and server
on the same machine)as well as distributed scenarios.

What is SOAP?
Location: http://www.jguru.com/faq/view.jsp?EID=469776
Created: Aug 5, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

SOAP is an abbreviation for Simple Object Access Protocol. According to W3C Note
on SOAP:

SOAP is a lightweight protocol for exchange of information in a decentralized,


distributed environment. It is an XML based protocol that consists of three parts: an
envelope that defines a framework for describing what is in a message and how to
process it, a set of encoding rules for expressing instances of application-defined
datatypes, and a convention for representing remote procedure calls and responses.

Where can i find information on Microsoft's implementation of SOAP for


Windows platforms?
Location: http://www.jguru.com/faq/view.jsp?EID=472798
Created: Aug 9, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

http://msdn.microsoft.com/soap/

Where can i find Open Source Java implementations for SOAP?


Location: http://www.jguru.com/faq/view.jsp?EID=472799
Created: Aug 9, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

Apache AXIS
Apache SOAP 2.2

Are there some articles that i can help me jumpstart my Java based SOAP
project?
Location: http://www.jguru.com/faq/view.jsp?EID=472879
Created: Aug 9, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

JavaWorld has a series of articles on SOAP.

• Clean up your wire protocol with SOAP, Part 1


• Clean up your wire protocol with SOAP, Part 2
• Clean up your wire protocol with SOAP, Part 3
• Clean up your wire protocol with SOAP, Part 4

Where can i find a list of publicly accessible web services available using
SOAP?
Location: http://www.jguru.com/faq/view.jsp?EID=473937
Created: Aug 10, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

http://www.xmethods.com/index.html

What books are available for SOAP?


Location: http://www.jguru.com/faq/view.jsp?EID=473940
Created: Aug 10, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

• Programming Web Services with SOAP


• Understanding SOAP: The Authoritative Solution
• Professional XML
• XML and SOAP Programming for BizTalk Servers
• Professional Windows DNA: Building Distributed Web Applications with VB,
COM+, MSMQ, SOAP, and ASP

Where can i read up about the history/evolution of SOAP?


Location: http://www.jguru.com/faq/view.jsp?EID=473944
Created: Aug 10, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

DevelopMentor has a A brief history of SOAP.

What Toolkits are available for SOAP?


Location: http://www.jguru.com/faq/view.jsp?EID=473945
Created: Aug 10, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

Here's a list from SoapWare.ORG.

• » Apache SOAP (Apache project) [Full, Java] 2.2, 2001/05/30


• » AXIS (Apache project) [Full, Java] Not released yet
• » TRLSOAP (IBM Research, Tokyo) [Full, Java] 0.72, 2000/11/24
• » Web Services Toolkit (IBM, alphaWorks) [Full, Java] 2.3, 2001/05/14
• » IdooXoap for Java (Zvon.org) [Full, Java] 1.1.1, 2001/03/18
• » WASP 1.0 Runtime (Zvon.org) [Full, Java] 1.0, 2001/03/18
• » GLUE [registration required] (Graham Glass) [Full, Java] 3.1,
2001/07/14
• » eSOAP (Rosimildo da Silva ) [Client, Java] 0.4, 2001/05/23
• » DevelopMentor SOAP (DevelopMentor) [Full, Java] 0.3, 2000/01/24
• » SoapRMI (Indiana University) [?, Java] 1.1, 2001/04/02
• » jBroker Web [login required] (SilverStream Software) [Full, Java] 1.0,
2001/06/04
• » X-Soap Toolkit (Xwaresoft.com) [Full, Java] 0.9, 2000/09/17
• » ZOAP (jBoss.org) [Full, Java] ?, ?
• » SOAPDirect (CapeConnect) [registration required] (Cape Clear Software)
[Full, Java] 2.0, 2001/05/11
• » Bubbles Project (Vivek Chopra) [Client, Java | PDA | KVM-based] Not
released yet
• » kSOAP (Enhydra.org) [Client, Java 2 Micro Edition | PDA | KVM-based] ?,
2001/05/17
• » Soap Toolkit for JBuilder [login required] (Stephen Schaub) [Client, Java |
JBuilder 4 | Win] ?, 2001/03/02
• » XML Messaging Server (IBX) [login required] (Interbind) [Full, Java] 0.9,
2001/02
• » InstantXML [registration required] (Tradia) [?, Java] ?, ?
• » Microsoft SOAP toolkit (Microsoft) [Full, VB/C# | WinNT/2K] 2.0,
2001/04/25
• » Microsoft SOAP toolkit (aka ROPE) [no support] (Microsoft) [Full, VB/C# |
WinNT/2K] 1.0, 2000/12
• » Visual Studio .NET (Microsoft) [Full, .NET | WinNT/2K/98/Me] B2,
2001/06/18
• » .NET Framework SDK (Microsoft) [Full, .NET | WinNT/XP/2K/98/Me] B2,
2001/06/07
• » 4s4c (Simon Fell) [Server, COM | WinNT/2K] 1.3.6, 2001/07/13
• » pocketSOAP (Simon Fell) [Client, COM? | Win9x/Me/NT/2K/Pocket] 1.1b2,
2001/07/13
• » White Mesa (Robert Cunnings) [Full, C++ | COM | WinNT/2K] 2.2,
2001/06/11
• » vbSOAP (Phalanx Systems) [?, VB | COM] ?, ?
• » SOAP component in IP*Works (Nsoftware) [Client,
VB/VC++/Delphi/C++Builder | Win9x/NT] ?, ?
• » WebServer Tool [registration required] (Dart) [Full,
VB/VC++/Delphi/C++Builder | COM | WinNT/2K] 1.5.0, ?
• » SOAP::Lite (Paul Kulchenko) [Full, Perl] 0.51, 2001/07/18
• » DevelopMentor SOAP (DevelopMentor) [Full, Perl] 0.28, 2000/09/05
• » PerlEx (ActiveState) [Server, Perl | WinNT/2K] 2.0.0.204, 2001/04/24
• » Secret Labs SOAP (Secret Labs) [Full, Python] 0.8, 2000/06/21
• » SOAP.py (Cayce Ullman) [Full, Python] 0.9.7, 2001/06/27
• » SOAPy (Adam Elman) [Client, Python] 0.1, 2001/04/26
• » ZSI: Zolera Soap Infrastructure (Zolera Systems, Rich Salz) [Full, Python]
0.5, 2001/05/29
• » Lye -- COM to SOAP (Andrew Dalke) [Client, Python | COM clients] 0.1,
2000/09/14
• » IdooXoap for C++ (Zvon.org) [Full, C++] 0.9, 2000/03/23
• » SimpleSOAP (Scott Seely) [Client, Visual C++] ?, 2001/01/13
• » C++ Library for SOAP Client (SQLData) [Client, C++ | WinNT/2K] 2.0,
2000/12/10
• » SQLData SOAP Server (SQLData) [Server, C++ | WinNT/2K] 3.01,
2001/01/25
• » EasySOAP (David Crowley) [Client, C++ | Linux/WinNT/2K/POSIX] 0.3,
2001/06/21
• » eSOAP (Rosimildo da Silva ) [Full, C++ | Linux/Windows/RTEMS/eCos]
0.4, 2001/05/23
• » SOUP (Ximian) [Full, C | Linux/Windows] 0.2, 2001/05/22
• » SOAP to CORBA bridge (LifeLine Networks bv) [Full?, C++ |
Linux/WinNT/2K] 1.0.1, 2001/03/28
• » SOAP toolkit LITE (Lucin) [Full, ?] 2.3.0, 2000/09/18
• » SOAP for Frontier (UserLand) [Full, Frontier] ?, ?
• » SOAP for Ada (Michael Erdmann) [Full, GNU Ada | Linux SuSe] 1.6.1,
2001/01/24
• » anyService (Chris Bayes) [Client, JavaScript/XSLT | Win | IE/HTA] 0.3,
2001/05/15
• » SOAP client for IE 5.0 (Aaron Skonnard) [Client, JavaScript | Win | IE] ?,
2000/01
• » SOAP client for IE 5.0 (Microsoft) [Client, JavaScript | Win | IE | HTC]
2.01, ?
• » XML Extras with SOAP (mozilla.org) [Client, JavaScript | Win | Mozilla] ?,
2000/12/28
• » Dolphin Smalltalk Spray (Steve Waring) [Full, SmallTalk] 0.028,
2001/06/27
• » SOAP Smalltalk (Camp Smalltalk) [Client, SmallTalk] ?, 2000/10/03
• » SOAP4R (Nakamura Hiroshi) [Full, Ruby] 1.3.0, 2001/05/20
• » PHPSOAP (GigaIdeas) [Full, PHP] ?, ?
• » SOAPx4 (Dietrich Ayala) [Full, PHP] ?, 2001/04/21
• » SOAP server class [registration required] (Manuel Lemos) [Server, PHP] ?,
2001/06/09
• » Kafka Framework (Christopher Dix) [Server, XSLT] 0.9, 2001/04/05
• » SOAP for Tcl (Pat Thoyts) [Client, Tcl] 1.1, 2001/02/16
• » Pure SOAP (Pure Software Technology) [Full, Delphi] 0.0.4, 2001/01/28
• » Delphi 6 (Borland) [Full, Delphi] ?, ?
• » SOAP for BEA WebLogic [no official support] (BEA Systems) [Server?,
Java? | BEA WebLogic Server] ?, ?
• » XMLBus [registration required] (IONA Technologies) [Full, Java | iPortal
AppServer, BEA WebLogic] 1.1, 2001/06/01
• » Business Integration Platform (Shinka Technologies) [Full, Java, Visual
Basic, C++] 1.3, 2001/08/01
• » SoapOpera (SOAP-HTTP ORB) (Masashi Umezawa) [?, SqueakSmalltalk]
0.2, 2000/12/28
• » SOAP taglib (Ulrich Mayring) [Client, XSP/taglib | Cocoon?] ?,
2001/04/05
• » Orchard.SOAP (Ken MacLeod) [Client, Orchard] ?, ?
• » SOAP.k (Christian Langreiter) [Client, K] ?, ?

Comments and alternative answers

Axis alpha 2 is out, with WSDL support!


Author: Vijay Kumar (http://www.jguru.com/guru/viewbio.jsp?EID=264226), Oct 16,
2001
The above list says that the Apache AXIS is not relesed yet,
but Axis alpha 2 is out, with WSDL support! .
i just wanted to update the list.

with regards

Are there any articles that provide an introduction to Web Services?


Location: http://www.jguru.com/faq/view.jsp?EID=473947
Created: Aug 10, 2001 Modified: 2001-11-24 18:51:15.77
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

IBM has an excellent article that covers the basics:


Understanding Web Services

Are there other FAQ's on SOAP?


Location: http://www.jguru.com/faq/view.jsp?EID=474100
Created: Aug 11, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

• Apache-SOAP User's FAQ


• DevelopMentor's SOAP FAQ
• Apache SOAP Frequently Asked Questions (FAQ)
• soaprpc.com's SOAP FAQ
• Userland's SOAP FAQ

Are there articles that can get me started on using Microsoft's


implementation of SOAP?
Location: http://www.jguru.com/faq/view.jsp?EID=474101
Created: Aug 11, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

• Web Services: Building Reusable Web Components with SOAP and ASP .NET
• A Young Person's Guide to The Simple Object Access Protocol: SOAP
Increases Interoperability Across Platforms and Languages
• SOAP Toolkit 2.0: New Definition Languages Expose Your COM Objects to
SOAP Clients
• .NET Anywhere With Pocket SOAP
• Develop a Web Service: Up and Running with the SOAP Toolkit for Visual
Studio
• Build Secure Web Services

Can i mix and match SOAP Servers and SOAP Clients developed using
toolkits from different vendors? What are the problems/Issues? Isn't this
why SOAP was developed in the first place?
Location: http://www.jguru.com/faq/view.jsp?EID=474106
Created: Aug 11, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

• Interoperability with Other SOAP Implementations


• Web Services Interoperability and SOAP
• idoox - SOAP Interoperability test
• Advancing SOAP interoperability
• SOAP Interopera
• Web Services: SOAP Interoperability
• SOAP for Platform-Neutral Interoperability

Am cooking up my own SOAP implementation. What steps should i take to


ensure interoperability with other Toolkits?
Location: http://www.jguru.com/faq/view.jsp?EID=474107
Created: Aug 11, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

A SOAP Implementer's Interoperability To-do List

• Pass the soapware.org validator.


• Set up a server that implements the methods described at xmethods.net
• Have it listed at: http://www.xmethods.net/ilab/
• Profile your implementation:
http://www.xmethods.net/soapbuilders/soapprofile.html
• Make sure your implementation can at least handle the subset specified by A
Busy Developer's Guide to SOAP 1.1.
• Pass pocketsoap validator http://soap.4s4c.com/Default.asp

Is there a Chapter/Book available on-line that deals with SOAP?


Location: http://www.jguru.com/faq/view.jsp?EID=474483
Created: Aug 12, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

• Excerpt from Chapter 12 from Java & XML, 2nd Edition , to be


published in September 2001 by O'Reilly

Can i use SOAP to expose my EJB objects?


Location: http://www.jguru.com/faq/view.jsp?EID=474484
Created: Aug 12, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

Yes, of course. There's an article on TheServerSide.com that shows you how to do


this:
Integrating Apache SOAP with an EJB Server.
Comments and alternative answers

That link is dead... try this


Author: Kevin Baker (http://www.jguru.com/guru/viewbio.jsp?EID=882634), May
26, 2002
http://www.theserverside.com/home/thread.jsp?thread_id=2086

How do i o digitally sign and encrypt my SOAP messages?


Location: http://www.jguru.com/faq/view.jsp?EID=479117
Created: Aug 18, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)
IBM's DeveloperWorks has a Tutorial on Digital signatures for SOAP messages

Where can i find sample code for a simple, general purpose SOAP client in
Java that uses no specialized SOAP libraries?
Location: http://www.jguru.com/faq/view.jsp?EID=479118
Created: Aug 18, 2001 Modified: 2001-08-18 19:27:55.623
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

Here are some pointers to sample java code that do not use any toolkits:

• Listing 1. The complete SOAP client


• Chapter 3. Writing XML with Java

Are there tools to look at the SOAP messages between my client and the
server?
Location: http://www.jguru.com/faq/view.jsp?EID=479122
Created: Aug 18, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

There are tools like proxyTrace that allow you to debug the SOAP messages.

Do i have to use SOAP to tunnel through firewalls? Are there any


alternatives?
Location: http://www.jguru.com/faq/view.jsp?EID=479123
Created: Aug 18, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

Tunneling through the corporate network shows you how to implement HTTP
tunneling with servlets.

Has Microsoft bundled support for a SOAP Client with Windows XP?
Location: http://www.jguru.com/faq/view.jsp?EID=479126
Created: Aug 18, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

Yes. There's an Overview of SOAP Client in Windows XP at MSDN.

What is SUN doing in the area of SOAP and Web Services?


Location: http://www.jguru.com/faq/view.jsp?EID=493358
Created: Sep 9, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

• Java APIs for XML Messaging (JAXM)


• SOAP Messaging Using the JavaTM API for XML Messaging (JAXM)
• SOAP 1.1 in the JavaTM Platform: Introducing the Java API for XML based
RPC (JAX-RPC)
• CREATING WEB SERVICES WITH JAVATM TECHNOLOGY AND XML
• SOAP in the JavaTM Platform
How can i debug SOAP traffic?
Location: http://www.jguru.com/faq/view.jsp?EID=493360
Created: Sep 9, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

Apache SOAP has a TCP tunneling GUI that can be used. More information can be
found at:
http://www-106.ibm.com/developerworks/webservices/library/ws-
peer3/?dwzone=ws
Comments and alternative answers

Try XMLBus' SOAPSpy!


Author: Dave Sheremata (http://www.jguru.com/guru/viewbio.jsp?EID=534358), Oct
30, 2001
XMLBus works with Apache, Weblogic, and of course IONA's own iPortal
Application Server (iPas 3.0). Best of all, it's free.
SOAPSpy is a tool included with XMLBus, and allows you to intercept soap
messages.
You can find it at www.xmlbus.com, or
http://www.iona.com/products/xmlbus_home.htm Hope this helps, Dave

I'm just getting started with SOAP. Where can I find tutorials on SOAP
programming?
Location: http://www.jguru.com/faq/view.jsp?EID=493361
Created: Sep 9, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

Try these links:


http://www.w3schools.com/SOAP/default.asp
http://www.onjava.com/pub/a/ onjava/excerpt/java_xml_2_ch2/index.html
http://www-106.ibm.com/developerworks/lib rary/ws-peer2/
http://www.perfectxml.com/articles/xml/hello soap.asp
http://www.soapwebservices.com/articles/ what_is_soap.asp (shockwave flash
presentation)
http://www
.javapro.com/upload/free/features/javapro/2001/04apr01/prs0104/prs0104-1.asp
http://www.soaplite.com/#LINKS
http://soap.manilasites.com/
http://www.xmethods.net/gettingstarted/apache. html
http://support.microsoft .com/servicedesks/webcasts/wc122100/WC122100.ppt

What are the namespaces that are usually used in SOAP messages? Where
can i get more information about them?
Location: http://www.jguru.com/faq/view.jsp?EID=493362
Created: Sep 9, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

• 1. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
• 2. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
• 3. xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
• 4. xmlns:xsd="http://www.w3.org/1999/XMLSchema"

More information on #1 and #2 can be found at http://www.w3.org/TR/SOAP.


Information on #3 and #4 can be found at http://www.w3.org/TR/xmlschema-0/

Can i mix SOAP, SSL and digital signatures? Where can i read up about how
to do it?
Location: http://www.jguru.com/faq/view.jsp?EID=493363
Created: Sep 9, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

IBM's DeveloperWorks has an article:


http://www-106.ibm.com/developerworks/webservices/library/ws-
soapsec/

Are there toolkits that automatically generate service proxy code from a
WSDL service description?
Location: http://www.jguru.com/faq/view.jsp?EID=493364
Created: Sep 9, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

IBM's http://www.alphaworks.ibm.com/tech/webservicestoolkit ServiceGen and


ProxyGen utilities that can create a service proxy from a WSDL service description.

Does tomcat support Web Services?


Location: http://www.jguru.com/faq/view.jsp?EID=531241
Created: Oct 26, 2001
Author: Alex Chaffee (http://www.jguru.com/guru/viewbio.jsp?EID=3) Question
originally posed by Seo Min-koo
(http://www.jguru.com/guru/viewbio.jsp?EID=446799

No, Tomcat has no built-in support for Web Services. However, since Web Services
are all built on HTTP, it is possible to write your own SOAP or XML-RPC servlet.
Comments and alternative answers

Does Tomcat support EJB? Pls help me, why Tomcat can't find my servlet.class
Author: Nguyen Van Tuyen (http://www.jguru.com/guru/viewbio.jsp?EID=726795),
Jan 19, 2002
I wonder if Tomcat support EJB or not, if I want to use EJB, what can I do? Pls help
me, why Tomcat can't find my servlet.class, when i put it in /ROOT/WEB-INF/classes
and in my sever.xml I added: <Context path="/servlet" docBase="ROOT/WEB-
INF/classes" debug="0" reloadable="true" />
URL:http://localhost:8080/servlet/HelloWorld. But it didn't work.

Re: Does Tomcat support EJB? Pls help me, why Tomcat can't find my
servlet.class
Author: brian ally (http://www.jguru.com/guru/viewbio.jsp?EID=757490), Feb 13,
2002
if you want to use EJB with tomcat, you need to install with JBoss.
http://www.jboss.org

Does tomcat support Web Services?


Author: Wilberto Montoya (http://www.jguru.com/guru/viewbio.jsp?EID=1197125),
Sep 3, 2004
Yes you can use TomCat with WebServices but need a little more work you can see
the example here: http://java.sun.com/webservices/docs/1.0/tutorial/index.html You
can Also use Apache AXIS (I do) is a good option:
http://ws.apache.org/axis/java/index.html

Are there tools to test SOAP-based Web Services?


Location: http://www.jguru.com/faq/view.jsp?EID=531576
Created: Oct 26, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

PushToTest is a free open-source utility for testing SOAP-based Web services for
scalability and performance.

What are Web Services? What are the Web Services Standards?
Location: http://www.jguru.com/faq/view.jsp?EID=531593
Created: Oct 26, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

Web services constitute a distributed computer architecture made up of many


different computers trying to communicate over the network to form one system.
They consist of a set of standards that allow developers to implement distributed
applications -- using radically different tools provided by many different vendors -- to
create applications that use a combination of software modules called from systems
in disparate departments or from other companies.

Here's a list of standards and links to more information:

• UDDI
• SOAP
• WSDL
• ebXML

What is JAX Pack? What does it contain?


Location: http://www.jguru.com/faq/view.jsp?EID=531594
Created: Oct 26, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

http://java.sun.com/xml/jaxpack.html is a bundle of XML technologies from SUN. It


supports SAX, DOM, XSLT, SOAP, UDDI, ebXML, and WSDL into one convenient
download.

Is there a Developers Guide to implementing Web Services with J2EE?


Location: http://www.jguru.com/faq/view.jsp?EID=531599
Created: Oct 26, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

Developer's Guide to Building XML-based Web Services with the Java 2 Platform,
Enterprise Edition (J2EE)

Where can i find a sample SOAP client using Apache SOAP for Java?
Location: http://www.jguru.com/faq/view.jsp?EID=559986
Created: Nov 24, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

http://www.soapuser.com/client2.html

What is UDDI?
Location: http://www.jguru.com/faq/view.jsp?EID=559993
Created: Nov 24, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

Ariba, IBM, and Microsoft developed the first version of UDDI, the Universal
Description, Discovery and Integration specification. As the name suggests, UDDI
allows a business to describe the services it offers and to discover and interact with
other services on the Web.

UDDI is also a cross-industry open specification that is built on top of existing


standards like TCP/IP, XML, HTTP, DNS, and SOAP. At the heart of UDDI is the UDDI
Business Registry, an implementation of the UDDI specification. With the registry, a
business can easily publish services it offers and discover what services other
businesses offer. The registry is created as a group of multiple operator sites.
Although each operator site is managed separately, information contained within
each registry is synchronized across all nodes.

Specifications can be found at:http://www.uddi.org/specification.html

Comments and alternative answers

why dynamically discover a webservice? How useful is it?


Author: Kavitha R (http://www.jguru.com/guru/viewbio.jsp?EID=1155716), Mar 18,
2004
I understand that UDDI has some specification to discover and publish
web service. Operator sites implement it and users using the UDDI api
can inquire the operator sites for web services and/or publish their
web service.

Correct if my understanding is incorrect.

Why would any user dynamiclly look for a web service? Before choosing
a web service, wouldn't he like to know
1. What are all the web services of his interest?
2. Analyze each/few of the web services, like will the web service
suit his requiements or is it financially feasible for him, so on
Does UDDI cater to all this? If this is what UDDI provides, does
every client has to write his own code into making all these
inquires? Isnt a web service search site common for all users
required?

Also could you quote some operator sites?

What is WSDL?
Location: http://www.jguru.com/faq/view.jsp?EID=559994
Created: Nov 24, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

WSDL is a language for describing the capabilities of Web services. Proposed by IBM
and Microsoft, WSDL combines the best of IBM’s NASSL (Network Accessible Services
Language) and Microsoft SOAP Contract Language. WSDL is based on XML and is a
key part of the UDDI initiative. The WSDL document specification helps improve
interoperability between applications, regardless of the protocol or the encoding
scheme. The WSDL 1.1 specification defines WSDL as “an XML grammar for
describing network services as collections of communication endpoints capable of
exchanging messages.”

Essentially, a WSDL document describes how to invoke a service and provides


information on the data being exchanged, the sequence of messages for an
operation, protocol bindings, and the location of the service. A WSDL document
defines services as a collection of endpoints, but separates the abstract definition
from the concrete implementation. Messages and port types provide abstract
definitions for the data being exchanged and the operations being performed by a
service. A binding is provided to map to a concrete set of ports, usually consisting of
a URL location and a SOAP binding.

WSDL 1.1 Specification: http://www.w3c.org/TR/wsdl

My Java based SOAP Service needs to external connections in the internet


but it is behind a proxy server (on an intranet). How do I tunnel through the
firewall?
Location: http://www.jguru.com/faq/view.jsp?EID=559996
Created: Nov 24, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

Suppose your proxy server is called "proxy.foo.com" and it is on port 9999. There are
a couple of ways of configuring Apache to use a proxy. One solution is to use the JVM
capabilities to deal with proxies:
System.getProperties().put("proxySet","true");
System.getProperties().put("proxyHost","proxy.foo.com");
System.getProperties().put("proxyPort","9999");
For socks based proxy server:
System.getProperties().put("socksProxyHost","socks.foo.com");
System.getProperties().put("socksProxyPort","1080");
Another solution is to tell TOMCAT to the proxying via the variable TOMCAT_OPTS),
for HTTP proxies:
set TOMCAT_OPTS="-DproxyHost=proxy.foo.com -DproxyPort=9999"
For socks:
set TOMCAT_OPTS="-DsocksProxyHost=socks.foo.com -DsocksProxyPort=1080"
Comments and alternative answers

Property for non-proxied-hosts


Author: Luigi Viggiano (http://www.jguru.com/guru/viewbio.jsp?EID=101985), Apr
2, 2002
You can also specify server that won't be proxied with JVM option
-DnonProxyHosts=CommaSeperatedlistOfNonProxiedSites
at command line. See also JVM property for non Proxy Hosts.

I hope this helps.. for Tomcat Series 4.x


Author: grosly grosly (http://www.jguru.com/guru/viewbio.jsp?EID=906143), Jun 6,
2002
For Windows in the command line or in you Startup.bat, if you have Tomcat 4.0.2 you
must change TOMCAT_OPTS for: set CATALINA_OPTS=-
DproxyHost=proxy.foo.com -DproxyPort=9999

Is SOAP secure?
Location: http://www.jguru.com/faq/view.jsp?EID=559997
Created: Nov 24, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

SOAP is as secure as HTTP is...SOAP travels across HTTP and enters via port 80, as
does HTTP. The only difference is that a SOAP message carries a payload of XML,
whereas HTTP would normally carry a payload of HTML/Javascript etc. SOAP
messages are very clear about there intent and declare this in their headers. Your
firewall can read these headers and decide what to do. Your application when it
receives the message should then examine the SOAP message to make sure that the
headers match what is in the payload. SOAP can run over HTTPS (SSL) with no
problems.

Where can i get an overview of JAXM with some sample code?


Location: http://www.jguru.com/faq/view.jsp?EID=559999
Created: Nov 24, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

Web Services Journal has an article:


JAXM: Interoperable SOAP Communications for the Java Platform.

How to send attachment using soap? Where can I find article or example on
how to send attachment using soap?
Location: http://www.jguru.com/faq/view.jsp?EID=578090
Created: Dec 9, 2001
Author: Filip Defoort (http://www.jguru.com/guru/viewbio.jsp?EID=550566)
Question originally posed by CY See
(http://www.jguru.com/guru/viewbio.jsp?EID=529734

Check out the apache SOAP libs. (http://xml.apache.org/soap). It contains an


example in samples/mime/MimeTest*.
Enjoy,
- Filip

Comments and alternative answers

Article in XML Journal, Vol 3 issue 1


Author: Joseph Shelby (http://www.jguru.com/guru/viewbio.jsp?EID=26292), Feb 21,
2002
There's an article from Ian Moraes in a recent XML Journal issue that demos using
Apache SOAP + Attachments. It requires having the JavaMail and JAF apis in your
CLASSPATH because of its use of Mime/type encoding.

And how can I use C++ to develop such Soap+Attachment?


Author: Henry Lu (http://www.jguru.com/guru/viewbio.jsp?EID=825891), Apr 4,
2002
At the server side,I use apache soap. And at the client side,I use Visual C++. I wanna
send a binary file from client to server. Once I used MS Soap toolkits,because of the
imcompatibility between MS and Apache,finally I failed. And Could anybody tell me
how to do it? Thank you very much!

Apache sample MimeTest


Author: Dick Whitehurst (http://www.jguru.com/guru/viewbio.jsp?EID=961085), Jul
23, 2002
The capability I am interested in says it is not implemented. In particular I'd like to
see the listAttachments implementation. Does anyone have an example of SOAP
*rpc* style using attachments?

ebXML Messaging Service Implementation does anybody Implemented


ebXML Messaging Service?

I am trying the implementation of ebXML Messaging. do any body


implementated the ebXML MS?, let me know, and if somebody can direct me
to few examples it will be very useful to me.

regards
Location: http://www.jguru.com/faq/view.jsp?EID=578091
Created: Dec 9, 2001
Author: Ronald van Kuijk (http://www.jguru.com/guru/viewbio.jsp?EID=339049)
Question originally posed by Vijay Kumar PREMIUM
(http://www.jguru.com/guru/viewbio.jsp?EID=264226

http://www.openebxml.org (code seems to be on sourceforge).


Comments and alternative answers

the link what u have provided, doesnot conatain any implementation yet.
Author: Vijay Kumar (http://www.jguru.com/guru/viewbio.jsp?EID=264226), Dec
10, 2001
Thanks Mr.Ronald
The link what u have provided, doesnot conatain any implementation yet, so it is of
no use to me. and also the JavaTM XML Pack contains some examples but i think it
doesnot fully comply with ebXML specification (ebXML MS 1.0)
any comments please

Re: the link what u have provided, doesnot conatain any implementation yet.
Author: Ronald van Kuijk
(http://www.jguru.com/guru/viewbio.jsp?EID=339049), Dec 10, 2001
http://sourceforge.net/projects/openebxml contains source... look in CVS
overthere as well. R.

Is there a white paper that provides an overview of the web services APIs
currently available or soon to be available from SUN?
Location: http://www.jguru.com/faq/view.jsp?EID=578093
Created: Dec 9, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

http://java.sun.com/xml/webservices.pdf

What is JAX-RPC? What is JAXM? What is the difference between the two?
Location: http://www.jguru.com/faq/view.jsp?EID=578095
Created: Dec 9, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

JAX/RPC
To aid developers in building XML-based requests such as SOAP requests, The JCP is
developing the Java APIs for XML based RPC (JAX/RPC). JAX/RPC is used for sending
and receiving (including marshalling and unmarshalling) method calls using XML-
based protocols such as SOAP, or others such as XMLP (XML Protocol. For more
information, see http://www.w3.org/2000/xp/). JAX/RPC isolates you from the
specifics of these protocols, enabling rapid application development. There is no
longer any need for developers to interact directly with the XML representation of the
call.
JAXM
When receiving a web service request from say a business partner, we need a Java
API to process XML messages, in a similar way to how we processed SOAP requests
using JAX/RPC. The Java API for XML Messaging (JAXM) is a forthcoming specification
for interacting with XML messaging standards such as ebXML messaging and SOAP
messaging. This API is designed to facilitate the processing of XML message
protocols, particularly those where a predetermined “contract” exists (ebXML in
particular) to determine the format and constraints of the message. This API will
handle all the “envelope” information, such as routing information and the “cargo”
manifest, in an intuitive way separate from the actual payload of the message. This
allows developers to focus on interacting with the payload and not worry about the
other message administrivia.
Difference
The difference between JAXM and JAX/RPC is analogous to the difference between
message-oriented middleware (MOM) and remote procedure calls (RPCs). JAXM is
geared toward message-oriented middleware-type applications, while JAX/RPC is
designed specifically for RPC behavior.

More information can be found at: Developer's Guide to Building XML-based


Web Services.

How can i find SOAP Services that other people/companies have exposed?
Location: http://www.jguru.com/faq/view.jsp?EID=585938
Created: Dec 15, 2001
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

There are two competing standards for SOAP Registry:

• UDDI
• ebXML

A detailed article on UDDI, WSDL can be found at:


http://www-106.ibm.com/developerworks/webservices/library/ws-
wsdl3/?dwzone=webservices

Can i use JAXM to run a UDDI Query against say IBM's UDDI Registry?
Location: http://www.jguru.com/faq/view.jsp?EID=727494
Created: Jan 20, 2002 Modified: 2002-01-21 07:36:05.774
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

Here's a stand-alone JAXM Client that can connect to IBM's UDDI Registry found at
https://www-3.ibm.com/services/uddi/protect/registry.html.
import javax.xml.soap.*;
import javax.xml.messaging.*;
import java.util.*;
import java.io.*;

public class UddiPing {


public static void main(String[] args) {
try {
if (args.length != 1) {
System.err.println("Usage: UddiPing business-name");
System.exit(1);
}

// Create the connection and the message factory.


SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance();
SOAPConnection connection = scf.createConnection();
MessageFactory msgFactory = MessageFactory.newInstance();

// Create a message
SOAPMessage msg = msgFactory.createMessage();

// Create an envelope in the message


SOAPEnvelope envelope = msg.getSOAPPart().getEnvelope();
// Get hold of the the body
SOAPBody body = envelope.getBody();
body.addChildElement(envelope.createName("find_business", "",
"urn:uddi-org:api"))
.addAttribute(envelope.createName("generic"),
"1.0")
.addAttribute(envelope.createName("maxRows"),
"100")
.addChildElement("name").addTextNode(args[0]);

URLEndpoint endpoint
= new URLEndpoint("http://www-
3.ibm.com/services/uddi/testregistry/inquiryapi");
msg.saveChanges();

SOAPMessage reply = connection.call(msg, endpoint);

System.out.println("Received reply from: "+endpoint);


reply.writeTo(System.out);

connection.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}

Can i have a sample JAXM Client that connects to say a Stock Quote Service
from XMethods.net?
Location: http://www.jguru.com/faq/view.jsp?EID=727495
Created: Jan 20, 2002
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

Here's a sample JAXM Client that connects to "Delayed Stock Quote" Service from
http://www.xmethods.net/. JAXM is part of the Winter JAX Pack that can be
downloaded from http://java.sun.com/xml/downloads/javaxmlpack.html.
import javax.xml.soap.*;
import javax.xml.messaging.*;
import java.io.*;
import java.util.*;

public class Request {


public static void main(String[] args){
try {
SOAPConnectionFactory scFactory =
SOAPConnectionFactory.newInstance();
SOAPConnection con = scFactory.createConnection();

MessageFactory factory = MessageFactory.newInstance();


SOAPMessage message = factory.createMessage();

SOAPPart soapPart = message.getSOAPPart();


SOAPEnvelope envelope = soapPart.getEnvelope();

SOAPHeader header = envelope.getHeader();


SOAPBody body = envelope.getBody();
header.detachNode();

Name bodyName = envelope.createName("getQuote",


"n",
"urn:xmethods-delayed-quotes");
SOAPBodyElement gltp = body.addBodyElement(bodyName);

Name name = envelope.createName("symbol");


SOAPElement symbol = gltp.addChildElement(name);
if(args.length <= 0)
symbol.addTextNode("SUNW");
else
symbol.addTextNode(args[0]);

URLEndpoint endpoint = new


URLEndpoint("http://64.39.29.211:9090/soap");
SOAPMessage response = con.call(message, endpoint);
con.close();

SOAPPart sp = response.getSOAPPart();
SOAPEnvelope se = sp.getEnvelope();
SOAPBody sb = se.getBody();
Iterator it = sb.getChildElements();
while(it.hasNext()){
SOAPBodyElement bodyElement =
(SOAPBodyElement)it.next();
Iterator it2 = bodyElement.getChildElements();
while(it2.hasNext()){
SOAPElement element2 =
(SOAPElement)it2.next();
String lastPrice = element2.getValue();
System.out.print("The last price is ");
System.out.println(lastPrice);
}
}

} catch (Exception ex) {


ex.printStackTrace();
}
}
}

I want to run a query against a UDDI Registry...Should i use Apache SOAP


or Apache Axis to create a SOAP Message myself and run it against the
Registry? Is there a better way since i don't want to know the guts of UDDI
messages?
Location: http://www.jguru.com/faq/view.jsp?EID=728503
Created: Jan 21, 2002
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

If you are just interested in accessing a UDDI Registry and don't want to know the
innards of UDDI, you should consider using a client API like the one from
http://www.uddi4j.org.
Exception handling in Apache-SOAP - Is there a way of catching server
exceptions in the client side?
Location: http://www.jguru.com/faq/view.jsp?EID=728633
Created: Jan 21, 2002
Author: Idar Hareide (http://www.jguru.com/guru/viewbio.jsp?EID=551299)
Question originally posed by Mehdi Elaoufir
(http://www.jguru.com/guru/viewbio.jsp?EID=328822

If you go to the site


http://www.onjava.com/pub/a/onjava/excerpt/java_xml_2_ch2/index.html, you can
find examples on how to catch server exceptions. Here's an example:
response = call.invoke(url, "");
if (!response.generatedFault( )) {
System.out.println("Successful execution");
} else {
Fault fault = response.getFault( );
System.out.println("Error encountered: " + fault.getFaultString( ));
}

-- Idar

what is ebXML?
Location: http://www.jguru.com/faq/view.jsp?EID=728641
Created: Jan 21, 2002
Author: Davanum Srinivas (http://www.jguru.com/guru/viewbio.jsp?EID=2011)

ebXML is a modular suite of specifications that enables enterprises of any size and in
any geographical location to conduct business over the Internet. Using ebXML,
companies now have a standard method to exchange business messages, conduct
trading relationships, communicate data in common terms and define and register
business processes. More information can be found at:

• ebXML: Not just another acronym


• http://www.ebxml.org/

You might also like