Change log

Mar 4, 2006

  • Page 153: In the diagram "using the public of SecureService" should be "using the public key of SecureService".

Feb 25, 2006

  • Page 121: Add "Note that this PATH setting affects this command prompt only. If later you use a new command prompt, you'll need to set the PATH again."
  • Page 149: There is no need to import the certificate of the service as it has been done when you needed to verify the signature in the response.
  • Page 150: In the diagram the arrow should start from "receiver2", not "sender".
  • Release.

Feb 11, 2006

  • Page 103: In the WSDL file, <soap:body parts="" use="literal" /> should be <soap:body use="literal" />.
  • Page 104: Add "If you set the MIME type to something that Axis doesn't know such as image/tiff or application/pdf" is changed to "If you set the MIME type to something that Axis doesn't know such as image/tiff or application/pdf (do it now) and generate the stubs again" for better clarity.
  • Page 108: In the WSDL file, <soap:body parts="" use="literal" /> should be <soap:body use="literal" />.
  • Page 117: "to provide to Paul" should be "to prove to Paul".
  • Page 121: In the diagram Mary's public key should be k3-pub. k2-pub belongs to John.
  • Page 125: In the diagram "John Dow" should be "John Doe" in the DN of the owner and the issuer.
  • Page 125: In the diagram "Some openssl commands need to save a random seek" should be "Some openssl commands need to save a random seed".
  • Page 138: "Create PasswordPrompt.java in the same package" should be "Create PasswordPrompter.java in the com.ttdev.secureservice.client package".
  • Page 169-173: The header should be "Developing Web Services with Apache Axis", not "Enjoying Web Development with Tapestry".
  • Release.

Jan 15, 2006

  • Page 13: 'This kind of web service is called "RPC style" web service' is changed to 'This kind of web service is called "RPC style" web service (RPC stands for "Remote Procedure Call")'.
  • Page 27: "run open a command line" should be "open a command prompt".
  • Page 28: 'they are placed into a "official library folder"' should be 'they are placed into an "official library folder"'.
  • Page 41, 45: "a xsd:string" should be "an xsd:string".
  • Page 45: "Now, for the the response message. It will contain" should be "Now, for the response message, it will contain".
  • Page 42: "Set Type | Complex Type" should be "Set Type | New Complex Type".
  • Page 48: "generate some basic course code" should be "generate some basic code".
  • Page 53: The screenshot shows a Chinese menu in the browser.
  • Page 54: In the diagram "6: Send a response" should be "7: Send a response".
  • Page 55: "this is case" should be "in this case".
  • Page 55: 'RPC stands for "Remote Procedure Call"' is replaced by "Note that it is NOT the same RPC as in RPC style vs. document style. No matter your web service is RPC style or document style, you will typically use this type of provider".
  • Page 55: "you need to send the SimpleService.wsdd file" should be "you need to send the deploy.wsdd file".
  • Page 55: In the diagram, "wsdd file" should be "WSDD file".
  • Page 55: In the diagram, "it is relative to the the current folder" should be "it is relative to the current folder".
  • Page 56: "something like that" should be "something like this".
  • Page 57: "also an wsdd" should be "also a WSDD".
  • Page 58: "then return the it to you" should be "then return it to you".
  • Page 59: "4: Convert the returned XML element " should be "5: Convert the returned XML element ".
  • Page 59: "This is a better" should be "This is better".
  • Page 61: "undeploy wsdd file" should be "the undeploy.wsdd file (also created by WSDL2Java)".
  • Page 61: "such the provider" should be "such as the provider".
  • Page 62: "A SOAP message is always a <Envelope> element" should be "A SOAP message is always an <Envelope> element".
  • Page 62: "send the content of the undeloy.wsdd file" should be "send the content of the undeploy.wsdd file".
  • Page 64: "you make changes to say the your web service" should be "you make changes to say your web service".
  • Page 64: "Axis also have some" should be "Axis also has some".
  • Page 67: "modify add a new parameter" should be "add a new parameter".
  • Page 70: "Finally register it" should be "Finally, register it".
  • Page 72: In the diagram, "So don't need an the operation name" should be "So don't need an operation name".
  • Page 35, 36, 72: In the diagrams, </soap-env:Envelop> should be </soap-env:Envelope>.
  • Page 74: In the diagram, </Envelop> should be </Envelope>.
  • Page 75: "it will listener on port" should be "it will listen on port".
  • Page 78: In the diagram, "but to convert it what XML element?" should be "but to convert it to what XML element?".
  • Page 78: "deserailization" should be "deserialization".
  • Page 79: In the diagram, 'I need to convert it to an "concatRequest" eleement' should be 'I need to convert it to an "concatRequest" element'.
  • Page 80: "If it doesn't" should be "It doesn't".
  • Page 84: "While still accepting" is changed to "while still accepting".
  • Page 90: "you'll learn to how to send" should be "you'll learn how to send".
  • Page 90: In the diagram, "the XML schema namespace is here the default" should be "but the XML schema namespace here is the default".
  • Page 91: "Create a new project" should be "create a new project".
  • Page 93: In the diagram, "Multiple occurrences of an element is turned into an array" should be "Multiple occurrences of an element are turned into an array".
  • Page 96: "you need to copy the copy" should be "you need to copy it".
  • Page 97: "Deloy the service" should be "Deploy the service".
  • Page 102: "you'll learn to how to receive" should be "you'll learn how to receive".
  • Page 102: "then many XML parser" should be "then many XML parsers".
  • Page 106: "use a message part that is of type xsd:base64String" should be "use a message part that is of type xsd:base64Binary".
  • Page 108: "you'll learn to how to control" should be "you'll learn how to control".
  • Page 109: "such as a a static variable" should be "such as a static variable".
  • Page 111: "the client first contacts the the Axis server" should be "the client first contacts the Axis server".
  • Page 111: "As the the maintain session flag" should be "As the maintain session flag".
  • Page 112: "a new back end service object to created" should be "a new back end service object is created".
  • Page 114: "you'll learn to how sign" should be "you'll learn how to sign".
  • Page 115: "This is OK because. " is deleted.
  • Page 115: The two diagrams should be switched.
  • Page 118: "whey you need to" should be "when you need to".
  • Page 118: "But how can find out" should be "But how can you find out".
  • Page 118: "If it is a hacker" should be "If he is a hacker".
  • Page 118: "show them his ID card" should be "show it his ID card".
  • Page 118: "stating that Paul's public key" should be "stating Paul's public key".
  • Page 119: "use it to encrypt the Paul" should be "use it to encrypt the message".
  • Page 121: "you will have to use the the DN" should be "you will have to use the DN".
  • Page 123: "If you'd like to more" should be "If you'd like to see more details".
  • Page 124: "Go http://www.openssl.org/related/binaries.html" should be "Go to http://www.openssl.org/related/binaries.html".
  • Page 125: "To make it easier to run it" should be "To make it easier to run".
  • Page 127: In the diagram, "The certificate will be valid for 365 days" is missing.
  • Page 130: Two diagrams are overlapping.
  • Page 132: In the diagram, "Perform some processing the message" should be "Perform some processing on the message".
  • Page 133: In the diagram, "Must implement this generic CallbackHandler iinterface" should be "Must implement this generic CallbackHandler interface".
  • Page 133: "you need to create a the client-provider.properties file" should be "you need to create the client-provider.properties file".
  • Page 134: "create it proxy" should be "create a proxy".
  • Page 134: "You don't need understand" should be "You don't need to understand".
  • Page 136: "WSS4J has defined symbolic constants for them for you to do" should be "WSS4J has defined symbolic constants for them for you to use".
  • Page 137: In the diagram, "This is NOT tell it" should be "This is NOT to tell it".
  • Page 140: "Therefore and you can't call" should be "Therefore you can't call".
  • Page 143: "you'd like to allow a certain people only" should be "you'd like to allow certain people only".
  • Page 144: "For an encryption action (decrypt)" is changed to "For an encryption action (decrypt message)".
  • Page 144: "WSHanlderResult" should be "WSHandlerResult".
  • Page 149: In the diagram, "because the receiver most like has its own certificate" should be "because the receiver most likely has its own certificate".
  • Page 151: In the diagram, "How was the symmetric key encrypted" should be "How the symmetric key was encrypted".
  • Page 154: In the diagram, "Here, itis telling the receiver" should be "Here, it is telling the receiver".
  • Page 160: "you'll learn to how to secure" should be "you'll learn how to secure".
  • Page 163: "The solve the problem" should be "To solve the problem".
  • Page 166: "install an simple authentication handler" should be "install a simple authentication handler".
  • The header of the References and index should be the book title, not the title of the last chapter.
  • Release.

Jan 11, 2006

  • Page 38: "browse to c:\axis\lib" should be "browse to c:\axis\webapps\axis\WEB-INF\lib". The screenshot is updated accordingly.
  • Page 38: 'Select the "Axis" library and then click "Add JARs" again. This time add c:\javamail\mail.jar to it. Next, add c:\jaf\activation.jar to it.' is deleted.
  • Release.

Jan 8, 2006

  • Page 10: "the users may be different languages" should be "the users may be using different languages".
  • Page 10: "(see the diagram below). So the full URL is" should be "(see the diagram below), so the full URL is".
  • Page 11: "But it is not in a dot format like com.ttdev.foo. It is in the format of a URL" is changed to "But it is not in a dot format like com.ttdev.foo; it is in the format of a URL".
  • Page 11: "is is called" should be "is called".
  • Page 13: "it is defined to be" should be "it is defined as".
  • Page 15: "RCP" should be "RPC".
  • Page 15: "Not much different" is changed to "Not much difference".
  • Page 17: "It is possible say the stringUtil" is changed to "It is possible that, say, the stringUtil".
  • Page 18: "you probably use a this binding" should be "you probably use this binding".
  • Page 18: A comma is added after "For example (see the diagram below)".
  • Page 18: "will be forwarded a computer" should be "will be forwarded to a computer".
  • Page 18: "it means there is some software" is changed to "it means that there is some software".
  • Page 18: "the same piece of software is installed the different computers" should be "the same piece of software is installed onto the different computers".
  • Page 21: "So this one should be a good" should be "So this one should be good".
  • Page 21: "you may something called URN" should be "you may use something called URN".
  • Page 21: "It can determine the meaning of the object id that without consulting IANA" should be "It can determine the meaning of the object id without consulting IANA".
  • Page 21: "What xyz mean" should be "What xyz means".
  • Page 21: "As you have already register" should be "As you have already registered".
  • Page 21: "there won't be any collisions" is changed to "there won't be any collision".
  • Page 22: "All these information" should be "All this information".
  • Page 22: "Because the XML element used to call a RPC style web service is not defined in any schema. For better interoperability" should be "Because the XML element used to call a RPC style web service is not defined in any schema, for better interoperability".

Jan 7, 2006

  • Page 13: "<concat> is a complext type" should be "<concatRequest> is a complex type".
  • Page 13, 14, 15: In the diagram the end tag of sample input message should be <foo:concatRequest>, not <foo:concat>.
  • Page 14: In the diagram showing the output message, the element should be <foo:concatResponse> not <foo:concatRequest>.
  • Page 28: "copy c:\javamail\mail.jar and c:\jaf\activation.jar into c:\axis\webapps\axis" should be "copy c:\javamail\mail.jar and c:\jaf\activation.jar into c:\axis\webapps\axis\WEB-INF\lib".
  • Release.

Jan 1, 2006

  • Take a WSDL first approach for all examples in the book.
  • Advocate the use of document+literal (including wrapped) services.
  • Advocate the use of client stubs over DII.
  • Separate the concept of MSG provider and the document style.
  • Use Ant instead of Java program to generate stubs and to deploy.
  • Covers the use of Eclipse WTP.
  • Release.

Dec 28, 2005

  • Page 21: "as long as you have an instance of TestServicePort" is changed to "as long as you have an instance of TestServicePort (which of course is an instance of TestServicePortType)".
  • Page 18: "Web Service Definition Language" should be "Web Services Description Language".
  • Page 33: A screenshot is obscuring the text.
  • Page 37: "A provider is the object implementing the web service. That is, it is a  provider that is handling a request. There are several types of providers provided by Axis" is changed to "When you call a web service, a provider is the object that first receives the request. Then it needs to decide how to handle the request. There are several types of providers provided by Axis and each type works differently".
  • Page 37: "What does this type of provider does" should be "What does this type of provider do".
  • Page 52: Two diagrams are overlapping.
  • Page 53: Change "By default the request is in the so called SOAP (Simple Object Access Protocol) RPC encoded format as shown in the diagram" to "By default the request is in the so called SOAP (Simple Object Access Protocol) RPC format as shown in the diagram. The outermost element (<authorize>) has the same name as the local name of the operation and the namespace of that element (http://foo.com) is that of the operation".
  • Page 62: In the diagram one superfluous  "overhead" block is drawn at the end of the message which contains 3 credit card objects.
  • Page 66: "In a SOAP RPC encoded format" is changed to "In a SOAP RPC format".
  • Page 73: "It means the messages are plain XML elements (not XML elements representing the serialized version of say a Java int value or a C# array)" is changed to "It means the messages are XML elements ".
  • Page 73: "Very few people use these combinations, so you should probably choose between document+literal and rpc+encoded" is changed to "The former doesn't make sense. The latter isn't supported by quite some products".
  • Page 88: "Naturally you should use the RPC+encoded style" is changed to "It may seem natural to use the RPC+encoded style".
  • Page 95: "structures containing loops" is changed to "data structures containing loops".
  • Page 121, 124: Two diagrams are overlapping.

Dec 27, 2005

  • Initial release.
Comments