Hello, I have found another good source of the performance reserve, which could be further 5-6% to current state, however I'm not sure how to implement this.
The problem: XMLJavaMappingRegistry.getKey takes up to 6-10% of all time (it also includes QNAme.toString(), etc.) Simple println inserted into this function shows that a request for every key comes twice apart, on any call, both in the client & server, always going to the parent registry as in following example: protected Deserializer queryDeserializer_(QName elementType, String encodingStyleURI) { Deserializer ds = super.queryDeserializer_(elementType, encodingStyleURI); if (ds != null) { return ds; } if (parent != null) { ds = parent.queryDeserializer_(elementType, encodingStyleURI); if (ds != null) { return ds; } } return null; } the same occurs in the querySerializer_, and queryJavaType_ calls. First call fails since registry created does not have entries for At least this happens in the sample addressbook. Since this occurs both on the server and client, that mean that registry is not organized well in library itself. Maybe sample just does not show how better the SOAPMappingRegistry should be organized. Maybe for those users who have found that SOAPMappingRegistry should be shared between all Calls we should create not Registry with custom mapping + parent Registry, but copy of standard registry , without parent at all (for users who creates registry every time it is not acceptable). ANother solution could make registry "learn" from parent all mapping. Here is a output of printlns inserted in both getKey functions (with Class and Qname), made for a single call of getAddress CKEY org.apache.soap.rpc.Parameter + http://schemas.xmlsoap.org/soap/encoding/ CKEY org.apache.soap.rpc.Parameter + http://schemas.xmlsoap.org/soap/encoding/ CKEY java.lang.String + http://schemas.xmlsoap.org/soap/encoding/ CKEY java.lang.String + http://schemas.xmlsoap.org/soap/encoding/ CKEY java.lang.String + http://schemas.xmlsoap.org/soap/encoding/ CKEY java.lang.String + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY urn:xml-soap-address-demo:address + http://schemas.xmlsoap.org/soap/encoding/ QKEY urn:xml-soap-address-demo:address + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY urn:xml-soap-address-demo:phone + http://schemas.xmlsoap.org/soap/encoding/ QKEY urn:xml-soap-address-demo:phone + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://www.w3.org/2001/XMLSchema:string + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://www.w3.org/2001/XMLSchema:string + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://www.w3.org/2001/XMLSchema:int + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://www.w3.org/2001/XMLSchema:int + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://www.w3.org/2001/XMLSchema:string + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://www.w3.org/2001/XMLSchema:string + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://www.w3.org/2001/XMLSchema:int + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://www.w3.org/2001/XMLSchema:int + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://www.w3.org/2001/XMLSchema:int + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://www.w3.org/2001/XMLSchema:int + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://www.w3.org/2001/XMLSchema:string + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://www.w3.org/2001/XMLSchema:string + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://www.w3.org/2001/XMLSchema:string + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://www.w3.org/2001/XMLSchema:string + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://www.w3.org/2001/XMLSchema:string + http://schemas.xmlsoap.org/soap/encoding/ QKEY http://www.w3.org/2001/XMLSchema:string + http://schemas.xmlsoap.org/soap/encoding/ Best regards, Pavel -- To unsubscribe, e-mail: <mailto:soap-dev-unsubscribe@;xml.apache.org> For additional commands, e-mail: <mailto:soap-dev-help@;xml.apache.org>