RE: How to enforce maxLength validation in Axis
Has anyone else done this before? I can't imagine I'm the 1st person who has attempted to constrain their web service interface. I'm not seeing any Axis handlers that mention validation in them. Does anyone have a Handler that I can plugin in that will perform validation based on my WSDL/XSD? ___ Jeremy Nix Senior Application Developer Southwest Financial Services, LTD. (513) 621-6699 x1158 www.sfsltd.com -Original Message- From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] Sent: Thursday, August 04, 2005 9:29 AM To: axis-user@ws.apache.org Subject: Re: How to enforce maxLength validation in Axis You can use a handler to perform schema validation. Anne On 8/3/05, Jeremy Nix [EMAIL PROTECTED] wrote: My WSDL+XSD constrains all my fields down to specific lengths or enumerated values. I'm noticing however that the maxLength constraints are not being validated by my web service. Is there some sort of option you must set to turn on this sort of validation? ___ Jeremy Nix Senior Application Developer Southwest Financial Services, LTD. (513) 621-6699 x1158 www.sfsltd.com
How to enforce maxLength validation in Axis
Title: How to enforce maxLength validation in Axis My WSDL+XSD constrains all my fields down to specific lengths or enumerated values. I'm noticing however that the maxLength constraints are not being validated by my web service. Is there some sort of option you must set to turn on this sort of validation? ___ Jeremy Nix Senior Application Developer Southwest Financial Services, LTD. (513) 621-6699 x1158 www.sfsltd.com
TCP Monitoring on the client side
Title: TCP Monitoring on the client side Does tcpmon support monitoring on the client side? I wish to connect to a web service and log out the request xml and the response xml. I'm using Axis1.2. Thanks for any help. ___ Jeremy Nix Senior Application Developer Southwest Financial Services, LTD. (513) 621-6699 x1158 www.sfsltd.com
Adding new variable to generated Java Objects, adds element/attribute to the WSDL response.
Title: Adding new variable to generated Java Objects, adds element/attribute to the WSDL response. I generated my java objects using the WSDLtoJava utility. I then added a new variable to one of my objects that I did not wish to make available WSDL environment. It seems as if Axis used reflection to determine which getters/setters were available on my java object and then used that new variable in my WSDL response. Is there some way that I can de-register a given field so that it is not interpreted as an element/attribute? ___ Jeremy Nix Senior Application Developer Southwest Financial Services, LTD. (513) 621-6699 x1158 www.sfsltd.com
Probems generatinig WSDL using ?WSDL
/ /xs:complexType xs:simpleType name=ExemptionTypeLookup xs:restriction base=xs:string xs:enumeration value=NONE/ xs:enumeration value=DISABILITY/ xs:enumeration value=HOMESTEAD/ xs:enumeration value=VETERANS/ /xs:restriction /xs:simpleType xs:simpleType name=DelinquencyTypeLookup xs:restriction base=xs:string xs:enumeration value=CURRENT/ xs:enumeration value=PART_PAID/ xs:enumeration value=DUE/ xs:enumeration value=DELINQUENT/ xs:enumeration value=NOT_RESEARCHED/ /xs:restriction /xs:simpleType xs:simpleType name=Directional xs:restriction base=xs:string xs:maxLength value=2/ xs:enumeration value=N/ xs:enumeration value=E/ xs:enumeration value=W/ xs:enumeration value=S/ xs:enumeration value=NE/ xs:enumeration value=NW/ xs:enumeration value=SE/ xs:enumeration value=SW/ /xs:restriction /xs:simpleType xs:simpleType name=DocumentTypeLookup xs:restriction base=xs:string xs:enumeration value=DEED/ xs:enumeration value=MORTGAGE/ xs:enumeration value=LIEN/ xs:enumeration value=TAX/ xs:enumeration value=OTHER/ /xs:restriction /xs:simpleType xs:simpleType name=LienStatusLookup xs:restriction base=xs:string xs:enumeration value=NO_LIENS/ xs:enumeration value=HAS_LIENS/ xs:enumeration value=NOT_SEARCHED/ /xs:restriction /xs:simpleType xs:simpleType name=LienTypeLookup xs:restriction base=xs:string xs:enumeration value=FEDERAL/ xs:enumeration value=JUDGEMENT/ xs:enumeration value=MECHANIC/ xs:enumeration value=OTHER/ /xs:restriction /xs:simpleType xs:simpleType name=MaritalStatusLookup xs:restriction base=xs:string xs:enumeration value=NONE/ xs:enumeration value=HUSBAND_AND_WIFE/ xs:enumeration value=MARRIED/ xs:enumeration value=SINGLE/ xs:enumeration value=UNMARRIED/ /xs:restriction /xs:simpleType xs:simpleType name=MortgageTypeLookup xs:restriction base=xs:string xs:enumeration value=UNKNOWN/ xs:enumeration value=CLOSED_END/ xs:enumeration value=OPEN_END/ xs:enumeration value=NOT_STATED/ /xs:restriction /xs:simpleType xs:simpleType name=OrderStatusLookup xs:restriction base=xs:string xs:enumeration value=Review/ xs:enumeration value=Complete/ /xs:restriction /xs:simpleType xs:simpleType name=ServiceTypeLookup xs:restriction base=xs:string xs:enumeration value=CURRENT_OWNER/ xs:enumeration value=AUTO_TITLE/ xs:enumeration value=FULL_TITLE/ xs:enumeration value=MORTGAGE_COPY/ xs:enumeration value=DEED_COPY/ /xs:restriction /xs:simpleType xs:simpleType name=UserTypeLookup xs:restriction base=xs:string xs:enumeration value=CONTRACTOR/ xs:enumeration value=EMPLOYEE/ /xs:restriction /xs:simpleType /xs:schema I apologize for the lengthy email! ___ Jeremy Nix Senior Application Developer Southwest Financial Services, LTD. (513) 621-6699 x1158 www.sfsltd.com
Axis 1.2RC2 generating Premature end of file error
I can't seem to figure out the cause of this error. Snooping the request/response, it appears that the response from the Axis server is invalid, but I'm not positive. Here's my WSDL, the snooped request, and the snooped response. WSDL: ?xml version=1.0 encoding=UTF-8? wsdl:definitions xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/; xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/; xmlns:xs=http://www.w3.org/2001/XMLSchema; xmlns:tns=http://abstractor.webservices.sfsltd.com; xmlns:xsd1=http://abstractor.webservices.sfsltd.com; targetNamespace=http://abstractor.webservices.sfsltd.com; name=Abstractor wsdl:import namespace=http://abstractor.webservices.sfsltd.com; location=AbstractorTypes.xsd/ wsdl:message name=MessageGetTitleSearchIn wsdl:part name=authentication element=xsd1:Authentication/ /wsdl:message wsdl:message name=MessageGetTitleSearchOut wsdl:part name=arg1 element=xsd1:TitleSearch/ /wsdl:message wsdl:portType name=AbstractorSoapPort wsdl:operation name=getTitleSearch wsdl:input message=tns:MessageGetTitleSearchIn/ wsdl:output message=tns:MessageGetTitleSearchOut/ /wsdl:operation /wsdl:portType wsdl:binding name=AbstractorBinding type=tns:AbstractorSoapPort soap:binding style=rpc transport=http://schemas.xmlsoap.org/soap/http/ wsdl:operation name=getTitleSearch soap:operation soapAction=getTitleSearch/ wsdl:input soap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; namespace=http://abstractor.webservices.sfsltd.com; use=encoded/ /wsdl:input wsdl:output soap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; namespace=http://abstractor.webservices.sfsltd.com; use=encoded/ /wsdl:output /wsdl:operation /wsdl:binding wsdl:service name=Abstractor wsdl:port name=Abstractor binding=tns:AbstractorBinding soap:address location=http://localhost/webservices/services/Abstractor/ /wsdl:port /wsdl:service /wsdl:definitions Snooped Request: POST /webservices/services/Abstractor HTTP/1.0 Content-Type: text/xml; charset=utf-8 Accept: application/soap+xml, application/dime, multipart/related, text/* User-Agent: Axis/1.2RC2 Host: localhost Cache-Control: no-cache Pragma: no-cache SOAPAction: getTitleSearch Content-Length: 716 soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;soapenv:Bodyns1 :getTitleSearch soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns1=http://abstractor.webservices.sfsltd.com;ns1:Authentication href=#id0//ns1:getTitleSearchmultiRef id=id0 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; Password=[EMAIL PROTECTED] Type=EMPLOYEE UserName=MR. ABSTRACTOR xsi:type=ns2:TypeAuth xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns2=http://abstractor.webservices.sfsltd.com//soapenv:Body/s oapenv:Envelope Snooped Response: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/xml;charset=utf-8 Date: Mon, 11 Apr 2005 13:40:14 GMT Connection: close ___ Jeremy Nix Senior Application Developer Southwest Financial Services, LTD. (513) 621-6699 x1158 www.sfsltd.com
RE: Axis 1.2RC2 generating Premature end of file error
That helped tremendously. I also noticed that my web service was throwing a validation exception because one of the required response elements was null. I'm a little surprised some sort of AxisFault was passed back to the client. Anyways, thanks for the help. ___ Jeremy Nix Senior Application Developer Southwest Financial Services, LTD. (513) 621-6699 x1158 www.sfsltd.com -Original Message- From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] Sent: Monday, April 11, 2005 10:44 AM To: axis-user@ws.apache.org Subject: Re: Axis 1.2RC2 generating Premature end of file error The WSDL is invalid for the following reasons: 1- You may not import a schema using wsdl:import. In this case, you should use xsd:include in a types section: wsdl:types. xsd:schema targetNamespace=http://abstractor.webservices.sfsltd.com; xsd:include schemaLocation=AbstractorTypes.xsd/ /xsd:schema /wsdl:types 2- When using RPC style, your message part definitions must reference types rather than elements. - Anne On Apr 11, 2005 9:46 AM, Jeremy Nix [EMAIL PROTECTED] wrote: I can't seem to figure out the cause of this error. Snooping the request/response, it appears that the response from the Axis server is invalid, but I'm not positive. Here's my WSDL, the snooped request, and the snooped response. WSDL: ?xml version=1.0 encoding=UTF-8? wsdl:definitions xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/; xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/; xmlns:xs=http://www.w3.org/2001/XMLSchema; xmlns:tns=http://abstractor.webservices.sfsltd.com; xmlns:xsd1=http://abstractor.webservices.sfsltd.com; targetNamespace=http://abstractor.webservices.sfsltd.com; name=Abstractor wsdl:import namespace=http://abstractor.webservices.sfsltd.com; location=AbstractorTypes.xsd/ wsdl:message name=MessageGetTitleSearchIn wsdl:part name=authentication element=xsd1:Authentication/ /wsdl:message wsdl:message name=MessageGetTitleSearchOut wsdl:part name=arg1 element=xsd1:TitleSearch/ /wsdl:message wsdl:portType name=AbstractorSoapPort wsdl:operation name=getTitleSearch wsdl:input message=tns:MessageGetTitleSearchIn/ wsdl:output message=tns:MessageGetTitleSearchOut/ /wsdl:operation /wsdl:portType wsdl:binding name=AbstractorBinding type=tns:AbstractorSoapPort soap:binding style=rpc transport=http://schemas.xmlsoap.org/soap/http/ wsdl:operation name=getTitleSearch soap:operation soapAction=getTitleSearch/ wsdl:input soap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; namespace=http://abstractor.webservices.sfsltd.com; use=encoded/ /wsdl:input wsdl:output soap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; namespace=http://abstractor.webservices.sfsltd.com; use=encoded/ /wsdl:output /wsdl:operation /wsdl:binding wsdl:service name=Abstractor wsdl:port name=Abstractor binding=tns:AbstractorBinding soap:address location=http://localhost/webservices/services/Abstractor/ /wsdl:port /wsdl:service /wsdl:definitions Snooped Request: POST /webservices/services/Abstractor HTTP/1.0 Content-Type: text/xml; charset=utf-8 Accept: application/soap+xml, application/dime, multipart/related, text/* User-Agent: Axis/1.2RC2 Host: localhost Cache-Control: no-cache Pragma: no-cache SOAPAction: getTitleSearch Content-Length: 716 soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;soapenv:Bodyn s1 :getTitleSearch soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns1=http://abstractor.webservices.sfsltd.com;ns1:Authentication href=#id0//ns1:getTitleSearchmultiRef id=id0 soapenc:root=0 soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/; Password=[EMAIL PROTECTED] Type=EMPLOYEE UserName=MR. ABSTRACTOR xsi:type=ns2:TypeAuth xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:ns2=http://abstractor.webservices.sfsltd.com//soapenv:Body/s oapenv:Envelope Snooped Response: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/xml;charset=utf-8 Date: Mon, 11 Apr 2005 13:40:14 GMT Connection: close ___ Jeremy Nix Senior Application Developer Southwest Financial Services, LTD. (513) 621-6699 x1158 www.sfsltd.com
Axis 1.2rc3 Web service executing incorrect method call.
Title: Axis 1.2rc3 Web service executing incorrect method call. I haven't been able to figure out exactly why its happening, but when my client application tries to make a web service call, the web service actually executes the wrong service call. I've downloaded the source and followed the execution of the request and the call is correct until it enters RPCProvider.processMessage(). In this method, the method (operation) is changed to a different method (operation). To what I can tell, Axis is having issues with the fact that my 1st parameter to my method is a RPCElement and the 2nd parameter to my method is a SOAPBodyElement. Honestly, I could not determine how Axis classified these parameters as RPCElements vs a SOAPBodyElement, but that is besides the point. The 1st element, because it is an RPCElement is therefore considered the body of the method (the parameters), and then the operation gets changed due to the drop of the 2nd parameter. See the latest RPCProvider.processMessage() to get a full understanding. Anyways, has anyone else came across this? Were you able to find a workaround, or possibly the WSDL is incorrect. Here's my WSDL: ?xml version=1.0 encoding=UTF-8? wsdl:definitions xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/ xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/ xmlns:xs=http://www.w3.org/2001/XMLSchema xmlns:tns=http://abstractor.webservices.sfsltd.com xmlns:xsd1=http://abstractor.webservices.sfsltd.com targetNamespace=http://abstractor.webservices.sfsltd.com name=Abstractor wsdl:types xs:schema targetNamespace=http://abstractor.webservices.sfsltd.com xs:include schemaLocation=AbstractorTypes.xsd/ /xs:schema /wsdl:types wsdl:message name=MessageGetTitleSearchIn wsdl:part name=authentication element=xsd1:Authentication/ /wsdl:message wsdl:message name=MessageGetTitleSearchOut wsdl:part name=arg1 element=xsd1:TitleSearch/ /wsdl:message wsdl:message name=MessageConfirmTitleSearchIn wsdl:part name=authentication element=xsd1:Authentication/ wsdl:part name=confirmation element=xsd1:Confirmation/ /wsdl:message wsdl:portType name=AbstractorSoapPort wsdl:operation name=getTitleSearch wsdl:input message=tns:MessageGetTitleSearchIn/ wsdl:output message=tns:MessageGetTitleSearchOut/ /wsdl:operation wsdl:operation name=confirmTitleSearch wsdl:input message=tns:MessageConfirmTitleSearchIn/ /wsdl:operation /wsdl:portType wsdl:binding name=AbstractorBinding type=tns:AbstractorSoapPort soap:binding style=document transport=http://schemas.xmlsoap.org/soap/http/ wsdl:operation name=getTitleSearch soap:operation soapAction=getTitleSearch/ wsdl:input soap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ namespace=http://abstractor.webservices.sfsltd.com use=literal/ /wsdl:input wsdl:output soap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ namespace=http://abstractor.webservices.sfsltd.com use=literal/ /wsdl:output /wsdl:operation wsdl:operation name=confirmTitleSearch soap:operation soapAction=confirmTitleSearch/ wsdl:input soap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ namespace=http://abstractor.webservices.sfsltd.com use=literal/ /wsdl:input wsdl:output soap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ namespace=http://abstractor.webservices.sfsltd.com use=literal/ /wsdl:output /wsdl:operation /wsdl:binding wsdl:service name=Abstractor wsdl:port name=Abstractor binding=tns:AbstractorBinding soap:address location=http://localhost/webservices/services/Abstractor/ /wsdl:port /wsdl:service /wsdl:definitions ___ Jeremy Nix Senior Application Developer Southwest Financial Services, LTD. (513) 621-6699 x1158 www.sfsltd.com